Xcode的配置
導入頭文件
#import <opencv2/videoio/cap_ios.h>
創建屬性
@interface ViewController ()<CvVideoCameraDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *imgV;
@property (nonatomic) CvVideoCamera *camera;
@property (nonatomic) BOOL isColorCamera;
@end
創建相機
_isColorCamera = YES;
_camera = [[CvVideoCamera alloc] initWithParentView:self.imgV];
_camera.defaultAVCaptureDevicePosition = AVCaptureDevicePositionBack;
_camera.delegate = self;
開啓相機
[_camera start];
彩色or黑白相機的選擇
- (IBAction)caiseCamera:(id)sender {
_isColorCamera = YES;
}
- (IBAction)fuguCamera:(id)sender {
_isColorCamera = NO;
}
在CvVideoCameraDelegate回調中進行處理
- (void)processImage:(cv::Mat&)image{
if (!_isColorCamera) {
Mat mat_image_gray ;
cvtColor(image, mat_image_gray, COLOR_BGR2GRAY);
cvtColor(mat_image_gray, image, COLOR_GRAY2BGR);
}
}
效果展示如下: