OpenCV之相機黑白處理

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) {
        //復古
        //1、彩色圖片 -> 灰色圖片
        Mat mat_image_gray ;
        cvtColor(image, mat_image_gray, COLOR_BGR2GRAY);

        //2、顯示圖片
        cvtColor(mat_image_gray, image, COLOR_GRAY2BGR);     
    }   
}

效果展示如下:

發佈了182 篇原創文章 · 獲贊 35 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章