Skip to content

RxSwiftCommunity/RxVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7e0fa2f · Jul 4, 2019

History

30 Commits
Jul 3, 2019
Jul 4, 2019
Jul 3, 2019
Jul 4, 2019
Jul 3, 2019
Jul 3, 2019
Feb 27, 2018
Jul 4, 2019
Jul 4, 2019
Jul 3, 2019
Jul 3, 2019

Repository files navigation

RxVision

RxVision (based on RxSwift)

Basic usage.

let mlRequest: RxVNCoreMLRequest<CGImage> = VNCoreMLRequest.rx.request(model: model, imageCropAndScaleOption: .scaleFit)

mlRequest
    .observable
    .subscribe { [unowned self] (event) in
        switch event {
            case .next(let completion):       
                let cgImage = completion.value // NB you can easily pass the value along to the completion handler 
                if let result = completion.request.results?[0] as? VNClassificationObservation {
                    os_log("results: %@", type: .debug, result.identifier)
                }
            default:
                break
        }
    }
    .disposed(by: disposeBag)

let imageRequestHandler = VNImageRequestHandler(cgImage: cgImage, orientation: .up, options: requestOptions)
do {
    try imageRequestHandler.rx.perform([mlRequest], on: cgImage) // NB you can easily pass the value along to the completion handler
} catch {
    print(error)
}

Carthage setup.

github "RxSwiftCommunity/RxVision" ~> 0.1.0

Copyright (c) RxSwiftCommunity