扩展眼界iOS程序猿iOS开发

OpenCV for iOS 学习笔记(三)—— 改变图像的对比

2016-10-18  本文已影响250人  FLNuo


先看效果:

效果演示: 上为原图 ,下为效果

主要代码如下(注意:记得在引用头文件下面加: using namespace cv;):

UIImage *image1 = [UIImage imageNamed:@"6.jpg"];   
Mat image;
  // 将UIImage 对象转换成 Mat 形式
UIImageToMat(image1, image);    
Mat new_image = Mat::zeros(image.size(), image.type());
double alpha = [0, 3];  
double beta = [0, 100];

[n, m]这里表示我使用的区间 此处需重新指定值 这里我使用 Slider.value 进行控制

for( int i = 0; i < image.rows; i++) { 
    for( int j = 0; j < image.cols * 1.5; j++) {
        for( int k = 0; k < 3; k++) {
            new_image.at<Vec3b>(i, j)[k] = saturate_cast<uchar>(alpha * ( image.at<Vec3b>(i, j)[k]) + beta);
        }
    }
  } 

注释:此处执行

i 和 j 表示像素位于 第i行 和 第j列
- - - -
UIImage *img = MatToUIImage(new_image)

用UIImage对象接收, 将图片加载到UIImageView 就可以看到效果了

上述代码按顺序复制到工程中即可编译执行

上一篇下一篇

猜你喜欢

热点阅读