基于形态学运算的图像变换

形态学滤波  图像  腐蚀、膨胀、开闭运算 边缘和角点检测

通常使用于2值图像

形态学的惯例是用白色表示前景物体,用黑色表示背景

腐蚀:对白色部分进行减少

膨胀:对白色部分进行膨胀

原理是:图像的腐蚀与膨胀,其实就是一个核结构(矩形、圆形或十字形)从头到尾进行图像矩阵遍历,并将锚点所在像素赋予核区域内像素最大值或最小值的过程;腐蚀操作即以核结构的锚点(默认为中心点)为像素点依次遍历图像所有像素点,取核结构区域内的最小值赋给锚点所在的像素点,这样就达到了腐蚀效果(将图像高像素值(高亮)区域缩小),具体腐蚀范围(缩小范围)以核矩阵区域大小及锚点位置为准(若3*3矩形,锚点在中心,则图像缩小了1个像素,以此类推核区域越大腐蚀效果越明显);膨胀操作与腐蚀操作相反,将最大值赋给锚点,膨胀范围原理与腐蚀相同。


目的:用于图像分割。


cv::Scalar(1)

// make a 7x7 complex matrix filled with 1+3j.

Mat M(7,7,CV_32FC2,Scalar(1,3));

解释如下:创建一个M矩阵,7行7列,类型为CV_32F,C2表示有2个通道。Scalar(1,3)是对矩阵进行初始化赋值。第一个通道全为1,第2个通道全为3。

http://blog.csdn.net/Eroslol/article/details/52525541

二值图像 0 255  单通道

灰度图像 0到255 单通道

开运算和闭运算的定义

闭运算定义为对图像先膨胀再腐蚀

开运算定义为对图像先腐蚀再膨胀

开滤波器和闭滤波器的作用

开滤波器移除的是场景中比较小的物体。

闭滤波器将分割成碎片的物体重新连接

闭、开运算:获得场景的主要物体

多次使用相同的开运算(或者闭运算)是没有效果的。

分水岭算法  图像  分割

你不可能什么都懂吧。那问题记在哪。

分水岭算法的输入参数P118

分水岭算法的处理过程

图像格式转化

src.convertTo(des,CV_8U,255,255)

src中的每个像素的值X255+255 , 其中 大于255的赋值为255。

src.convertTo(des,CV_8U)

src中像素的值高于255的一律设置成255

cv::Point(image.cols/2+10,image.rows/2+10)  中心点的坐标

GrabCut算法 图像  提取前景物体(分割效果最好)但是不是基于数学形态学。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容