图像形态学
膨胀和腐蚀
形态学腐蚀(erode):四边形核覆盖范围内取最小值
形态学膨胀(dilate):四边形核覆盖范围内取最大值
腐蚀效果:明亮区域被隔离,收缩
膨胀效果:明亮区域被扩张,联通
图像的形态学操作一般在阙值化后的布尔图像上进行
通用形态学函数
只处理二值对象时基本的腐蚀核膨胀足够。
但需要对灰度图或者彩色图进行处理时,通过cv::morphologyEx()实现其他操作
开操作和闭操作
开操作:先腐蚀再膨胀,常用于对二值图像中的区域进行计数
闭操作:先膨胀再腐蚀,用于复杂连通分支算法中减少无用或噪声驱动的片段
对连通分支,先进行腐蚀或闭操作消除噪声,再通过开操作连接相互靠近的大型区域
对非布尔型图像进行形态学操作时,闭操作最明显的效果时消除值小于邻域内的点的孤立异常值,而开操作消除的是大于邻域内点的孤立异常值
开操作和闭操作是iterations参数:两次闭操作是膨胀-膨胀-腐蚀-腐蚀
形态学梯度
梯度操作结果是膨胀操作减去腐蚀操作,产生源图像的边缘
顶帽和黑帽
顶帽:用源图像减去开操作后的图像,显示与其邻域相比更亮的部分
黑帽:用闭操作后的图像减去源图像,显示与其邻域相比更暗的部分
自定义核
cv::getStructuringElement()
用任意线性滤波器做卷积
可分核:一个可分核可以理解成两个一维核,先调用x内核,再调用y内核,提高效率
常见图像变换
卷积的变换是局部的,可以改变整个图像
图像变换不会仅由周围少量像素决定
拉伸,收缩,扭曲和旋转
调整大小带来像素如何插值和合并的问题
均匀调整
cv::resize()
插值方法:逐个浏览目标图像的每个像素,找到填充目标像素需要的源像素,几乎都在分数位置,所以要在内插源像素
写两句?
PREVIOUSopencv滤波与卷积
NEXTopencv图像变换