固定阈值化
double threshold(输入图像,输出图像,阈值设置,预设最大值,定义类型);
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
//读取原图像
Mat srcimage = imread("1.jpg.jpg");
if (!srcimage.data)
return 1;
imshow("srcimage",srcimage);
//彩色图转灰度图
Mat srcgray;
cvtColor(srcimage,srcgray,CV_RGB2GRAY);
imshow("srcgray",srcgray);
Mat dstimage;
//初始化阈值参数
int thresh = 130;
//初始化阈值化处理的类型
/* 0 : 二进制阈值 1:反二进制阈值 2:截断阈值 3: 0阈值 4: 反0阈值 */
int threshType = 0;
//预设最大值
const int maxVal = 255;
//固定阈值化操作
threshold(srcgray,dstimage,thresh,maxVal,threshType);
imshow("dstimage",dstimage);
waitKey(0);
return 0 ;
}
运行结果
其中阈值化处理的类型有5种
/* 0 : 二进制阈值 1:反二进制阈值 2:截断阈值 3: 0阈值 4: 反0阈值 */
int threshType = 1;时的运行结果图
int threshType = 2;时的运行结果图
int threshType = 3;时的运行结果图
int threshType = 4;时的运行结果图