首页 > 代码库 > OpenCV官方文档学习记录(8)
OpenCV官方文档学习记录(8)
腐蚀和膨胀效果
主要使用
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 = http://www.mamicode.com/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
结果:
原图:(来自opencv的doc目录)
OpenCV官方文档学习记录(8)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。