导入 CvVideoCamera
importing CvVideoCamera
我是 OpenCV 的新手,我很难在我的 swift 项目中使用 CvVideoCamera!
我正在使用 openCV 3.2.0 和 swift 3.1
我有 OpenCVWrapper 文件,而且我将它导入我的桥接头文件中。
在我的 OpenCVWrapper.mm 文件中,我导入 opencv2/videoio/cap_ios.h 但仍然在我的 swift 视图控制器中,我没有得到任何 CvVideoCamera 类型!!
这是我的包装器和桥接头
OpenCVWrapper.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface OpenCVWrapper: NSObject
@end
OpenCVWrapper.mm
#include <opencv2/opencv.hpp>
#include "OpenCVWrapper.h"
#import <opencv2/videoio/cap_ios.h>
using namespace cv;
using namespace std;
@implementation OpenCVWrapper : NSObject
@end
和CSOpenCV-桥接-Header.h
#import "OpenCVWrapper.h"
谁能告诉我为什么我不能在我的 swift 视图控制器中启动 CvVideoCamera
p.s:我也尝试直接在我的桥接头文件中导入 opencv2/videoio/cap_ios.h 但出现编译器错误
error base.hpp header must be compiled as C++
好吧,在放弃 swift 以使用 opencv 之后,我在 github 上找到了一个示例应用程序,它使用 AVCaptureSession 和 AVCaptureVideoDataOutput 获取摄像头馈送,然后使用
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, from connection: AVCaptureConnection!)
从会话中获取示例缓冲区。然后使用 opencvwrapper 将 CMSampleBuffer 转换为 cv::Mat.
查看 here 示例代码。
我是 OpenCV 的新手,我很难在我的 swift 项目中使用 CvVideoCamera!
我正在使用 openCV 3.2.0 和 swift 3.1
我有 OpenCVWrapper 文件,而且我将它导入我的桥接头文件中。 在我的 OpenCVWrapper.mm 文件中,我导入 opencv2/videoio/cap_ios.h 但仍然在我的 swift 视图控制器中,我没有得到任何 CvVideoCamera 类型!!
这是我的包装器和桥接头
OpenCVWrapper.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
@interface OpenCVWrapper: NSObject
@end
OpenCVWrapper.mm
#include <opencv2/opencv.hpp>
#include "OpenCVWrapper.h"
#import <opencv2/videoio/cap_ios.h>
using namespace cv;
using namespace std;
@implementation OpenCVWrapper : NSObject
@end
和CSOpenCV-桥接-Header.h
#import "OpenCVWrapper.h"
谁能告诉我为什么我不能在我的 swift 视图控制器中启动 CvVideoCamera
p.s:我也尝试直接在我的桥接头文件中导入 opencv2/videoio/cap_ios.h 但出现编译器错误
error base.hpp header must be compiled as C++
好吧,在放弃 swift 以使用 opencv 之后,我在 github 上找到了一个示例应用程序,它使用 AVCaptureSession 和 AVCaptureVideoDataOutput 获取摄像头馈送,然后使用
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, from connection: AVCaptureConnection!)
从会话中获取示例缓冲区。然后使用 opencvwrapper 将 CMSampleBuffer 转换为 cv::Mat.
查看 here 示例代码。