二值化系列:
(1)OTSU算法
(2)固定二值化
(3)自适应二值化
比较简单,直接使用即可
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{
Mat srcImage = imread("F:\\opencv_re_learn\\2.jpg");
if (!srcImage.data){
cout << "failed to read" << endl;
system("pause");
return -1;
}
//conver to gray
Mat srcGray;
cvtColor(srcImage, srcGray, CV_BGR2GRAY);
Mat dstImage;
//初始化阈值参数
int thresh = 120;
/*0:二进制阈值 1:反二进制阈值 2:截断阈值 3:0阈值 4:反0阈值*/
int thresType = 0;
//预设最大值
const int maxVal = 255;
//阈值化
threshold(srcGray, dstImage, thresh, maxVal, thresType);
imshow("thres_result", dstImage);
waitKey(0);
return 0;
}