python图形图像处理,python图像处理实战 豆瓣
形态学处理方法是基于二值图像处理的,卷积核决定了图像处理的效果。本文将详细介绍OpenCV中的图像形态学,有兴趣的可以看看。
1 图像形态学运算
在Python OpenCV图像处理中,我们将图像过滤分类如下:
邻域过滤
线性过滤
非线性滤波
频域滤波
低通滤波器
高通滤波
在非线性滤波中,以前只介绍过中值滤波。其实有一种很常见的非线性滤波方法叫做形态学运算。
图像形态学运算是一种基于图像形状运算的非线性滤波技术。它的基本思想是利用一些特殊的结构元素来度量或提取图像中相应的形状和特征,以供进一步的图像分析和处理。这里,结构元素等同于模板3354,即给定像素的矩阵,其参与过滤。这个矩阵的形状可以是任意的,但一般是正方形。
接下来我们来分析几种经典的图像形态学算法,然后编程测试~
2 腐蚀
腐蚀是用局部灰度最小值替换目标像素值,实现高光区域的腐蚀。
比如有这样一个图像和这样一个结构元素,其中结构元素的蓝色方块代表模板的原点。
让我们开始遍历这个图像。当我们到了下图所示的位置时,模板中最小的灰度值就是灰色方块中的像素,于是模板原点的蓝色方块中的像素就被替换成了灰色(原来是白色,被腐蚀了)。
这是你如何遍历这个图像来得到
3 膨胀
扩展是用局部灰度最大值替换目标像素值,实现高亮区域的扩展。
类似腐蚀,遍历此图,当到达下图所示位置时,模板中最大灰度值为白色方块的像素,因此模板原点处蓝色方块中的像素被替换为白色(原本为灰色,膨胀)。
以这种方式遍历该图像后,扩展的最终结果是
感受一下上一张实物图中腐蚀膨胀的效果。
4 开运算与闭运算
了解了图像腐蚀和膨胀,那么就很容易打开和关闭。
开口:先腐蚀再膨胀。
关闭:腐蚀前的膨胀。
开放式操作可有效去除孤立点、毛刺和桥接;封闭运行可以填补漏洞,封闭缝隙。
上图假设灰色区域被突出显示。
5 顶帽运算与底帽运算
用顶帽操作和底帽操作来表示开闭操作与原始图像的差别,类似于边缘检测的梯度差。
图像顶帽操作:表示原始图像与打开操作得到的图像之间的差异。
图像底盖运算:表示原始图像和闭运算得到的图像之间的差异。
6 恶魔与天使
先看原图,一对可爱的猫。
执行腐蚀操作,首先创建结构元素。
int eSize=3;//结构元素大小
int s=eSize * 2 1;
mat structure element=getStructuringElement(MORPH _ RECT,Size(s,s),Point(-1,-1));
然后用结构元素遍历原始图形。OpenCV有打包的API,可以直接调用。
erode(src,dst,structure element);
Imshow(腐蚀作业后:,dst);
腐蚀后的图像如下图。眼神空洞,有点吓人。这是同一两只猫吗?
扩展操作类似腐蚀,也有OpenCV打包的API。
dilate(srcImg,dstImg,structureElement,Point(-1,-1),1);
Imshow(扩展操作后:,dst img);
肿起来的小猫轻松多了,感觉升华了。
以后如果想有一张照片营造出光与影、正与邪、天使与魔鬼两种对比,可以考虑用图像腐蚀和扩展。
关于Python实例分析图像形态学运算技术的这篇文章到此结束。关于Python图像形态学运算的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。