create opencv camera matrix for iPhone 5 solvepnp

后端 未结 5 1177
春和景丽
春和景丽 2021-01-31 12:35

I am developing an application for the iPhone using opencv. I have to use the method solvePnPRansac:

http://opencv.willowgarage.com/documentation/cpp/camera_calibration_

5条回答
  •  眼角桃花
    2021-01-31 12:56

    Try this:

    func getCamMatrix()->(Float, Float, Float, Float)
    {
    
        let format:AVCaptureDeviceFormat? = deviceInput?.device.activeFormat
        let fDesc:CMFormatDescriptionRef = format!.formatDescription
    
        let dim:CGSize = CMVideoFormatDescriptionGetPresentationDimensions(fDesc, true, true)
    
        // dim = dimensioni immagine finale
        let cx:Float = Float(dim.width) / 2.0;
        let cy:Float = Float(dim.height) / 2.0;
    
        let HFOV : Float = format!.videoFieldOfView
        let VFOV : Float = ((HFOV)/cx)*cy
    
        let fx:Float = abs(Float(dim.width) / (2 * tan(HFOV / 180 * Float(M_PI) / 2)));
        let fy:Float = abs(Float(dim.height) / (2 * tan(VFOV / 180 * Float(M_PI) / 2)));
    
        return (fx, fy, cx, cy)
    }
    

提交回复
热议问题