阈值(threshold)简单地说就是把图像分割的一个标尺。
阈值类型
1.阈值二值化(threshold binary)

大于阈值取最大值,小于阈值取最小值。
2.阈值反二值化(threshold binary Interval)

3.截断(truncate)

超过阈值和阈值相等,否则为0.
4.阈值取零(threshold to zero)

小于阈值取0,大于的不变。
5.阈值反取零(threshold to zero interval)

小于阈值的不变,大于的取零。
寻找阈值 实现最佳阈值
THRESH_OTSU
THRESH_TRIANGLE
代码:
#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int threshold_value = 127;
int threshold_max = 255;
int type_value = 2;
int type_max = 4;
Mat src,dst,gry_src;
char outwindow1[] = "out window1";
void Threshold_Demo(int,void *);
int main(int argc,char ** argv)
{
src = imread("1.jpg");
imshow("1",src);
namedWindow(outwindow1,CV_WINDOW_AUTOSIZE);
createTrackbar("v1",outwindow1,&threshold_value,threshold_max,Threshold_Demo);
createTrackbar("v2",outwindow1,&type_value,type_max,Threshold_Demo);
Threshold_Demo(0,0);
waitKey(0);
return 0;
}
void Threshold_Demo(int,void *)
{
cvtColor(src,gry_src,CV_BGR2GRAY);
imshow("2",gry_src);
threshold(gry_src,dst,threshold_value,threshold_max,type_value);
imshow(outwindow1,dst);
}效果显示:
显示小姐姐

相关源码请到github下载:
https://github.com/MRwangmaomao/OpencvThreshold-Project.git


少有人走的路


















