腐蚀:
图像腐蚀过程中使用的结构元素可以根据需求自己生成,但是为了研究人员的使用方便, 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);
}



