首页 > 代码库 > opencv-形态学处理
opencv-形态学处理
开运算 (Opening)
原理摘自:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.html
开运算是通过先对图像腐蚀再膨胀实现的。
能够排除小团块物体(假设物体较背景明亮)
请看下面,左图是原图像,右图是采用开运算转换之后的结果图。 观察发现字母拐弯处的白色空间消失。
闭运算(Closing)
闭运算是通过先对图像膨胀再腐蚀实现的。
能够排除小型黑洞(黑色区域)。
形态梯度(Morphological Gradient)
膨胀图与腐蚀图之差
能够保留物体的边缘轮廓,如下所示:
顶帽(Top Hat)
原图像与开运算结果图之差
黑帽(Black Hat)
闭运算结果图与原图像之差
- 代码:
// ConsoleApplication3_6_23.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; Mat src,dst; int pro_elem = 0; int pro_size = 0; int pro_operator = 0; const int max_elem = 2; const int max_size = 21; const int max_operator = 4; char* windowName = "Demo"; void Image_pro(int,void*); int _tmain(int argc, _TCHAR* argv[]) { src = http://www.mamicode.com/imread("hwl.jpg");>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。