形态学滤波 图像 腐蚀、膨胀、开闭运算 边缘和角点检测
通常使用于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算法 图像 提取前景物体(分割效果最好)但是不是基于数学形态学。