OpenCV--阈值分割-threshold()和adaptiveThreshold()

本文主要介绍的是图像分割函数的意义及使用

涉及到的函数为threshold(),在下文代码段进行了详细的介绍。

图1表示了官方对阈值类型的介绍,图2表示的经过阈值处理之后的结果。

   

图1  阈值类型

    OpenCV--阈值分割-threshold()和adaptiveThreshold()_第1张图片

图2  阈值分割结果

线性混合可表示如下:

dst = src1[I]*alpha+ src2[I]*beta + gamma;

/************************************************************************/
/* 
OpenCV阈值分割函数:threshold()

函数原型:
double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)

参数含义:
InputArray src      -原图像
OutputArray dst     -输出图像
double thresh       -阈值大小
double maxval       -最大值
int type            -阈值模式

阈值模式有以下几种类型
0: THRESH_BINARY         -当前点值大于阈值时,取Maxval,否则设置为0
1: THRESH_BINARY_INV     -当前点值大于阈值时,设置为0,否则设置为Maxval
2: THRESH_TRUNC          -当前点值大于阈值时,设置为阈值,否则不改变
3: THRESH_TOZERO         -当前点值大于阈值时,不改变,否则设置为0
4: THRESH_TOZERO_INV     -当前点值大于阈值时,设置为0,否则不改变
*/
/************************************************************************/


#include 
#include 
#include 

using namespace cv;
using namespace std;

#define WINDOW_NAME "窗口"

//定义滑动条初始值
int g_nThresholdValue=100;  //阈值初始值
int g_nThresholdType=0;     //阈值模式初始值

Mat g_srcImage,g_grayImage,g_dstImage;

void on_Threshold(int ,void*);//声名回调函数

int main()
{
	g_srcImage=imread("lena.jpg");//读入图片
	if(!g_srcImage.data)
	{
		cout<<"读入错误"<

大津阈值和自适应阈值

#include   
#include   
#include   

using namespace cv;  
using namespace std;  

#define WINDOW_NAME "窗口"  

Mat g_srcImage,g_grayImage,g_dstImage;  

int main()  
{  
	g_srcImage=imread("1.bmp");//读入图片  
	if(!g_srcImage.data)  
	{  
		cout<<"读入错误"<




你可能感兴趣的:(OpenCV)