Skip to content

salute-developers/salutevision-sdk-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

SaluteVision Mobile iOS SDK

SDK алгоритмов компьютерного зрения для iOS.

SaluteVision Mobile SDK — это набор инструментов для решения задач с использованием компьютерного зрения.

iOS SDK доступен в виде salutevision-mobile.xcframework.

xcframework содержит зависимости под все целевые платформы и архитектуры в едином bundle.

Поддерживаемые архитектуры:

  • ios-arm64,
  • ios-x86_64-simulator,
  • ios-arm64-simulator.

Работа с изображениями

Работа с изображениями в iOS SDK осуществляется через класс SaluteVisionImage.

Чтобы создать экземпляр класса SaluteVisionImage, передайте данные в конструктор в формате CVPixelBuffer.

В большинстве случаев CVPixelBuffer — это стандартная сущность для получения фрейма с камеры телефона на платформе iOS.

Также SaluteVisionImage поддерживает конвертацию в UIImage.

Подключение

Для подключения библиотеки и доступа к моделям SDK используется стандартная команда:

import SaluteVision

Использование SDK

Вся функциональность SDK поставляется в виде независимых классов. Например: BarcodeReader, MRZReader.

Каждый из классов может быть использован как независимо, так и в сочетании с другими.

Использование BarcodeReader

  1. Создаем экземляр класса
private let reader = BarcodeReader(formats: [
    .qr,
    .aztec
])
  1. Создаем экземпляр класса SaluteVisionImage
let pixelBuffer = ... // получить CVPixelBuffer
let image = SaluteVisionImage(pixelBuffer: pixelBuffer)
  1. Можно использовать прямоугольник с областью интереса (ROI). Это та область изображения, в которой должен находится штрих-код.
let roi: CGRect = ... // получить CGRect, обозначающий область изображения со штрих-кодом
  1. Запускаем процесс распознавания и обрабатываем результат
// C использованием ROI
guard let results = reader.read(from: image, inside: roi) else {
    print("Empty result")
    return
}
// Без использования ROI
guard let results = reader.read(from: image) else {
    print("Empty result")
    return
}

// вывод информации о типе первого распознанного штрих-кода и результат распознования
print("Result did obtain, type: \(results.first?.info?.format.rawValue), result: \(results.first?.info?.text)")

Использование MRZReader

  1. Создаем экземпляр класса
private let reader = MRZReader()
  1. Добавляем наблюдателя (observer), который должен реализовывать MRZReaderObserver протокол.
reader.registerObserver(self)
  1. Создаем экземпляр класса SaluteVisionImage
let pixelBuffer = ... // получить CVPixelBuffer
let image = SaluteVisionImage(pixelBuffer: pixelBuffer)
  1. Запускаем процесс распознавания и получаем геометрию локализации (синхронно)
let geometries = reader.read(image: image)
  1. Результат распознования приходит наблюдателю в методе func infoDidObtain(_ info: MRZInfo) (асинхронно)
 func infoDidObtain(_ info: MRZInfo) {
     print("His name is \(info.name) and he is from \(info.country)")   
 }

Использование DocumentLocalization

  1. Создаем экземляр класса
private let localization = DocumentLocalization()
  1. Создаем экземпляр класса SaluteVisionImage
let pixelBuffer = ... // получить CVPixelBuffer
let image = SaluteVisionImage(pixelBuffer: pixelBuffer)
  1. Запускаем процесс локализации и обрабатываем результат
let result = localization.predict(image: image, shouldCorrectAR: true)

if result.isStable, let cropImage = result.cropImage {
    // Работаем с cropImage
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published