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

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

时间:2014-12-06 12:44:32      阅读:189      评论:0      收藏:0      [点我收藏+]

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

腐蚀和膨胀效果

 

主要使用

erode(src, dst, element);

dilate(src, dst, element);

这两个函数:

示例代码:

 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(std::string name,Mat img)
13 {
14     namedWindow(name, CV_WINDOW_AUTOSIZE);
15     imshow(name, img);
16 }
17 
18 void callBack(int, void*)
19 {}
20 
21 int main(void)
22 {
23     Mat src = imread("cat.jpg");
24     Mat dst = src.clone();
25     Show("Src", src);
26     int size = 2;
27     Mat element = getStructuringElement(MORPH_ELLIPSE, Size(2 * size + 1, 2 * size + 1), Point(size, size));
28     erode(src, dst, element);
29     Show("Dst 1", dst);
30     dilate(src, dst, element);
31     Show("Dst 2", dst);
32     namedWindow("Test", CV_WINDOW_AUTOSIZE);
33     createTrackbar("TrackerBar", "Test",&size,100,callBack);
34     waitKey();
35     return 0;
36 }

 

注意element这个数组是我们要进行变换的结构元素(形态学原理),默认是3x3的矩阵,同时可以通过宏变量定义矩阵形状

分别为方形,十字形,椭圆形:MORPH_RECT,MORPH_CROSS,MORPH_ELLIPSE;

同时最后使用了一个TrackerBar放到了窗口上,范围从1-100

结果:

bubuko.com,布布扣

 

原图:(来自opencv的doc目录)

bubuko.com,布布扣

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

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

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

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