腐蚀:
图像腐蚀过程中使用的结构元素可以根据需求自己生成,但是为了研究人员的使用方便,
Ope
nCV4
提供了 g
etStructuringElement
函数用于生成常用
矩形结构元素、十字结构元素和椭圆
结构元素.
?
需要注意的是
该函数的腐蚀过程只针对图像中的非零像素
因此,
如果图像是以 0
像素为背
景,那么腐蚀操作后会看到图像中的内容变得更"瘦 、更小
:如果图像是以
255
像素为背景,那
么腐蚀操作后会看到图像中的内容变得更租、更大.
代码:
void visionagin::Myerode()
{
Mat srcblack= imread("C:\\Users\\86176\\Downloads\\visionimage\\blackback.jfif");
Mat srcwhite=imread("C:\\Users\\86176\\Downloads\\visionimage\\whiteback.jfif");
Mat model = getStructuringElement(MORPH_RECT, Size(5, 5), Point(-1, -1));
Mat res1, res2;
erode(srcblack, res1, model, Point(-1, -1));
erode(srcwhite, res2, model, Point(-1, -1));
namedWindow("原图黑底白字", WINDOW_NORMAL);
namedWindow("原图白底黑字", WINDOW_NORMAL);
namedWindow("腐蚀后黑底白字", WINDOW_NORMAL);
namedWindow("腐蚀后白底黑字", WINDOW_NORMAL);
imshow("原图黑底白字", srcblack);
imshow("原图白底黑字", srcwhite);
imshow("腐蚀后黑底白字", res1);
imshow("腐蚀后白底黑字", res2);
}
以0为背景色文字变得更细小,以255白色的文字腐蚀后变得更粗,因为只腐蚀非0像素。
?膨胀:
该函数的腐蚀过程只针对图像中的非零像素 因此,如果图像是以 255像素为背 景,那么腐蚀操作后会看到图像中的内容变得更"瘦 、更小 :如果图像是以0?像素为背景,那么腐蚀操作后会看到图像中的内容变得更租、更大,与腐蚀相反。
void visionagin:: Mydailate()
{
Mat srcblack = imread("C:\\Users\\86176\\Downloads\\visionimage\\blackback.jfif");
Mat srcwhite = imread("C:\\Users\\86176\\Downloads\\visionimage\\whiteback.jfif");
Mat model = getStructuringElement(MORPH_RECT, Size(5, 5), Point(-1, -1));
Mat res1, res2;
dilate(srcblack, res1, model);
dilate(srcwhite, res2, model);
namedWindow("原图黑底白字", WINDOW_NORMAL);
namedWindow("原图白底黑字", WINDOW_NORMAL);
namedWindow("腐蚀后黑底白字", WINDOW_NORMAL);
namedWindow("腐蚀后白底黑字", WINDOW_NORMAL);
imshow("原图黑底白字", srcblack);
imshow("原图白底黑字", srcwhite);
imshow("腐蚀后黑底白字", res1);
imshow("腐蚀后白底黑字", res2);
}
?
|