码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV官方文档学习记录(11)

时间:2014-12-10 00:28:12      阅读:393      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

阈值化:

主要函数:threshold

代码:

 1 #include <opencv2\opencv.hpp>
 2 #include <iostream>
 3 #include <string>
 4 
 5 #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
 6 
 7 int MAX_KERNEL_LENGTH = 31;
 8 
 9 using namespace std;
10 using namespace cv;
11 
12 void Show(const std::string &name, const Mat &img)
13 {  
14     namedWindow(name, CV_WINDOW_AUTOSIZE);
15     imshow(name, img);
16 }
17 
18 int main(void)
19 {
20     Mat img = imread("lena.jpg");
21     if (img.empty())
22         return -1;
23 
24     Mat gray;
25     //convert img to gray image
26     cvtColor(img, gray, CV_RGB2GRAY);
27     Show("Source", gray);
28     /* 0: Binary
29     1: Binary Inverted
30     2: Threshold Truncated
31     3: Threshold to Zero
32     4: Threshold to Zero Inverted
33     */
34     Mat dst;
35     int values = 100;
36     threshold(gray, dst, values, 255, CV_THRESH_BINARY);
37     Show("Dst", dst);
38     waitKey();
39     return 0;
40 }

 

注释部分说明了函数的第三个参数所代表的阈值变换含义:

0:二值化

1:反向二值化

2:截断化

3.超置零

4.低置零

 

上述0参数结果为:

bubuko.com,布布扣

解释:

Binary会将超过阈值values的像素点全部置为最大值255(黑)这个maxVal参数,同时其他小于阈值的都被置零(白)。

参考公式:

bubuko.com,布布扣

 

下面是另外几个参数的结果:

1:Binary, Inverted

bubuko.com,布布扣

公式如下:

bubuko.com,布布扣

 

2.Truncate

bubuko.com,布布扣

公式:

bubuko.com,布布扣

 

3.Threshold to Zero

bubuko.com,布布扣

公式:

bubuko.com,布布扣

4.Threshold to Zero, Inverted

bubuko.com,布布扣

公式:

bubuko.com,布布扣

 

注意:以上代码全部与示例相同,不同之处就是更换了threshold的最后一个类型参数,提供如下:

1 CV_THRESH_BINARY;
2 CV_THRESH_BINARY_INV;
3 CV_THRESH_TRUNC;
4 CV_THRESH_TOZERO;
5 CV_THRESH_TOZERO_INV;

含义如字面,具体使用自行摸索。因为据说阈值在图像分割作用比较大,建议重点记忆和体会。

 

补充一下以上阈值变换的图示,下图中第一行是原波形,蓝色线是阈值线,其余行的图分别对应将第一行的图进行以上的五种阈值变换中一种的结果 ,按照的是上述顺序:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

 

以上。

OpenCV官方文档学习记录(11)

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/lhyz/p/4154467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!