其他分享
首页 > 其他分享> > opencv图像二值化操作

opencv图像二值化操作

作者:互联网

函数threshold对单通道数组应用固定阈值操作。该函数的典型应用是对灰度图进行阈值操作得到二值图像或者是去掉噪声。

固定阈值操作:Threshold()函数

#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
    Mat src=imread("1.jpg");
    Mat src_gray,dst;
    imshow("原图",src);
    cvtColor(src,src_gray,COLOR_RGB2GRAY);

    threshold(src_gray,dst,200,100,3);//200是阈值的具体值
    
    imshow("效果图",dst);
    waitKey(0);

    return 0;
}

下面对 threshold(src_gray,dst,200,100,3);中的第五个参数进行解释:
有5种类型:

其中,我们用的最多的就是第四和第五种类型

自适应阈值操作:adaptiveThreshold()函数
OpenCV提供的API:

void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue,
                      int adaptiveMethod, int thresholdType, int blockSize, double C)

说明下各参数:

#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
    Mat src=imread("1.jpg");
    Mat src_gray,dst;
    imshow("原图",src);
    cvtColor(src,src_gray,COLOR_RGB2GRAY);

    adaptiveThreshold(src_gray,dst,255,ADAPTIVE_THRESH_GAUSSIAN_C,0,3,1);

    imshow("效果图",dst);
    waitKey(0);

    return 0;
}

标签:src,阈值,int,dst,opencv,THRESH,图像,include,二值化
来源: https://blog.csdn.net/seniorc/article/details/112261212