021新手学做网站,网站后期维护费用怎样版费,wordpress只显示文章标题摘要,平面设计网上培训1.基本概述
(1)What
图像的形态学操作的本质#xff1a;集合间的运算 几何学
(2)Why(有什么用途#xff09;
消除噪声、边缘提取、区域填充、细化和粗化、分割独立的图像元素、求图像梯度、求极大值区域或极小值区域等。
(3)Which(有哪些常见的形态学操作)
A.膨胀 使得…1.基本概述
(1)What
图像的形态学操作的本质集合间的运算 几何学
(2)Why(有什么用途
消除噪声、边缘提取、区域填充、细化和粗化、分割独立的图像元素、求图像梯度、求极大值区域或极小值区域等。
(3)Which(有哪些常见的形态学操作)
A.膨胀 使得图像中“亮色”范围依据传入的结构元kernel扩张 B.腐蚀 使得图像中“暗色”范围依据传入的结构元kernel扩张 C.开运算 先腐蚀后膨胀移除小的“亮色”对象 D.闭运算 先膨胀后腐蚀移除小的“暗色”对象 E.顶帽运算 顶帽 原图 - 开运算的结果分离得到一些“亮”区域 F.黑帽运算 黑猫 闭运算 - 原图分离得到一些“暗”区域 G.击中与击不中
2. 如何进行形态学操作
(1)膨胀和腐蚀
这是形态学中最基本的两种操作其它形态学操作都是基于这两种基本操作进行的。我这里称之为形态学的“基元操作”
step01获取结构元 矩形MORPH_RECT、十字形MORPH_CROSS、椭圆形MORPH_ELLIPSE
//得到3阶矩阵形状为矩形值全为1
cv::Mat kernel cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3));
//形状为十字形十字形区域全为1其它为0
kernel cv::getStructuringElement(cv::MORPH_CROSS, cv::Size(3,3));
step02膨胀和腐蚀 方式一erode和dilate
int iTms 10; //腐蚀和膨胀的次数
cv::Mat imTmp01, imTmp02;
cv::dilate(imGray, imTmp01, kernel, cv::Point(-1, -1), iTms);
cv::erode(imGray, imTmp02, kernel, cv::Point(-1, -1), iTms);方式二morphologyEx还可以进行其它形态学操作开、闭、顶帽、黑帽等
int iTms 10; //腐蚀和膨胀的次数
cv::Mat imTmp03, imTmp04;
cv::morphologyEx(imGray, imTmp03, cv::MORPH_ERODE, kernel, cv::Point(-1, -1), iTms);
cv::morphologyEx(imGray, imTmp04, cv::MORPH_DILATE, kernel, cv::Point(-1, -1), iTms);(2)开运算和闭运算
MORPH_OPEN、MORPH_CLOSE
int iTms 10; //腐蚀和膨胀的次数
cv::Mat imTmp05, imTmp06;
cv::morphologyEx(imGray, imTmp05, cv::MORPH_OPEN, kernel, cv::Point(-1, -1), iTms);
cv::morphologyEx(imGray, imTmp06, cv::MORPH_CLOSE, kernel, cv::Point(-1, -1), iTms);(3)顶帽和黑帽
int iTms 10; //腐蚀和膨胀的次数
cv::Mat imTmp07, imTmp08;
cv::morphologyEx(imGray, imTmp07, cv::MORPH_TOPHAT, kernel, cv::Point(-1, -1), iTms);
cv::morphologyEx(imGray, imTmp08, cv::MORPH_BLACKHAT, kernel, cv::Point(-1, -1), iTms);