美文网首页
iOS_OpenCV图像阈值化 (1)

iOS_OpenCV图像阈值化 (1)

作者: Champion | 来源:发表于2018-06-28 15:49 被阅读109次

图像阈值化的思想是:给定一个数组或者阈值,然后根据数组中的每个元素的值是高于还是低于阈值而进行一些处理。

1、固定阈值操作
CV_EXPORTS_W double threshold( InputArray src, OutputArray dst,
                               double thresh, double maxval, int type );

*第一个参数,InputArray类型的src,输入数组,填单通道,8或32位浮点类型 Mat
*第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放输出结果,且和第一个参数中的Mat变量有一样的尺寸和类型
*第三个参数,double类型的thresh,阈值的具体值
*第四个参数,double类型的maxval,当第五个参数阈值类型type取THRESH_BINARY、THRESH_BINARY_INV时阈值类型的最大值
*第五个参数,int类型的type,阈值类型:


type.png
2、自适应阈值操作
CV_EXPORTS_W void adaptiveThreshold( InputArray src, OutputArray dst,
                                     double maxValue, int adaptiveMethod,
                                     int thresholdType, int blockSize, double C );

*第一个参数,InputArray类型的src,源图像,8位单通道浮点型图像
*第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放输出结果,且和第一个参数中的Mat变量有一样的尺寸和类型
*第三个参数,double类型的maxValue,给像素赋的满足条件的非零值
*第四个参数,int类型的adaptiveMethod,用于指定要使用的自适应阈值算法,可取值CV_ADAPTIVE_THRESH_MEAN_C或CV_ADAPTIVE_THRESH_GAUSSIAN_C
*第五个参数,int类型的thresholdType,阈值类型。取值必须是CV_THRESH_BINARY或CV_THRESH_BINARY_INV
*第六个参数,int类型的blockSize,用于计算阈值大小的一个像素的邻域尺寸,取值3、5、7等
*第七个参数,double类型的C,减去平均或加权平均值后的常数值。通常为正数,也可为0或者负数

    UIImage *image = [UIImage imageNamed:@"100.jpg"];
    cv::Mat mask,srcImage,dstImage;
    UIImageToMat(image, srcImage);
    cv::cvtColor(srcImage, dstImage, CV_RGBA2GRAY);
    //cv::threshold(dstImage, mask, 150, 255, cv::THRESH_BINARY);
    cv::adaptiveThreshold(dstImage, mask, 200, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 3, 2);
    
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(35.f, 100.f, image.size.width, image.size.height)];
    imageView3.image = MatToUIImage(mask);
    [self.view addSubview:imageView3];
固定阈值.jpeg
自适应阈值.jpeg

相关文章

  • iOS_OpenCV图像阈值化 (1)

    图像阈值化的思想是:给定一个数组或者阈值,然后根据数组中的每个元素的值是高于还是低于阈值而进行一些处理。 1、固定...

  • iOS_OpenCV图像阈值化 (2)

    图像阈值化就是将图像上的像素点的灰度值设置为0~255,也就是将图像呈现出明显的黑白化。如果某特定物体在内部有均匀...

  • OpenCV-Python学习(四):阈值操作

    目录: 1.图像二值化 2.阈值操作简单阈值(全局阈值)自适应阈值(局部阈值) 3.简单阈值 vs 自适应阈值 一...

  • 1.10 openCV-python 图像阈值

    图像阈值 简单阈值,自适应阈值,Otsu’s 二值化等

  • 图片处理-opencv-4.图像阈值化

    图像阈值化 图像的二值化或阈值化(Binarization)旨在提取图像中的目标物体,将背景以及噪声区分开来。通常...

  • 阈值化

    OpenCV-图像阈值-简单阈值、自适应阈值、Otsu’s 二值化

  • 13、图像二值化

    二值,即0和1,其实是灰度图像的0~255的简版,0表示白色,1表示黑色 图像二值化方法:全局阈值,局部阈值 全局...

  • PS——泼墨水彩风格报制作

    1、Ctrl+J 复制图层,图像—调整—阈值。 -----黑白图像 2、滤镜—风格化—扩散(各向异性)。 --...

  • openCV:图像的阈值处理

    阈值处理 定义 阈值处理即图像二值化。是图像分割的一种最简单的方法。二值化可以把灰度图像转换成二值图像。把大于某个...

  • 阈值处理

    阈值处理 阈值处理即图像二值化。是图像分割的一种最简单的方法。二值化可以把灰度图像转换成二值图像。把大于某个临界灰...

网友评论

      本文标题:iOS_OpenCV图像阈值化 (1)

      本文链接:https://www.haomeiwen.com/subject/grggyftx.html