opencv-形态学处理
来源:互联网 发布:网络认识了你歌曲下载 编辑:程序博客网 时间:2024/06/02 11:21
开运算 (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 = imread("hwl.jpg");if(!src.data)return -1;namedWindow(windowName,CV_WINDOW_AUTOSIZE);createTrackbar("Operator:\n 0:opening-1:closing-2:gradient-3:Top Hat-4:Black Hat",windowName,&pro_operator,max_operator,Image_pro);createTrackbar("Element:\n 0:Rect-1:Cross-2:Ellipse",windowName,&pro_elem,max_elem,Image_pro);createTrackbar("Kernel size:\n 2n+1",windowName,&pro_size,max_size,Image_pro);Image_pro(0,0);waitKey(0);return 0;}void Image_pro(int,void*){int operation = pro_operator + 2;Mat element = getStructuringElement(pro_elem,Size(2*pro_size+1,2*pro_size+1),Point(pro_size,pro_size));morphologyEx(src,dst,operation,element);imshow(windowName,dst);}
0 0
- OPENCV之形态学处理
- opencv形态学处理
- openCV 形态学图像处理
- opencv-形态学处理
- openCV 形态学处理
- opencv图像形态学处理
- OpenCV-形态学处理-morphologyEx
- 初学opencv/形态学处理
- 【OpenCV】形态学处理
- opencv学习-imgprocess-形态学处理
- OpenCV-Python教程:形态学处理
- 腐蚀,膨胀,opencv的形态学处理
- OpenCV-Python教程(4、形态学处理)
- Opencv 图像处理——形态学方法
- OpenCV对形态学的运算处理
- OpenCV入门(八)--形态学图像处理
- 基于OpenCV的图像形态学处理
- 【OpenCV】图像处理(二)图像形态学
- OpenSMTP,解决中文名称附件不能发送的问题
- iOS 真机调试 (碉堡了)
- LeetCode——Single Number
- 并查集
- 数据库设计三大范式详解(简单易懂)
- opencv-形态学处理
- NSString VS NSDate (转换详解)
- java中的流
- Ubuntu中安装JDK1.6
- 颠倒一个字符串
- php导出execl数据
- const变量不能初始化数组长度
- 《SQL注入攻击与防御第2版》笔记
- MATLAB的size(),length(),ndims()函数