重庆平台网站建设找哪家,招聘网站开发背景,西安企业网站排名优化工具,网站上传软件开运算和闭运算的基础是膨胀和腐蚀#xff0c;可以在看本文章前先阅读这篇文章机器视觉技术与应用实战#xff08;Chapter Two-04#xff09;-CSDN博客
开运算#xff1a;先腐蚀后膨胀。开运算可以使图像的轮廓变得光滑#xff0c;具有断开狭窄的间断和消除细小突出物的作…开运算和闭运算的基础是膨胀和腐蚀可以在看本文章前先阅读这篇文章机器视觉技术与应用实战Chapter Two-04-CSDN博客
开运算先腐蚀后膨胀。开运算可以使图像的轮廓变得光滑具有断开狭窄的间断和消除细小突出物的作用。
闭运算先膨胀后腐蚀。它具有填充物体细小空间、消除缝隙、连接临近的物体和平滑边界轮廓的作用。
开和闭使用膨胀和腐蚀的顺序有区别这个我们需要去理解它们作用这样就更加好记住。开运算由于腐蚀先腐蚀的作用更加明显体现在断开连接作用自然就是“开”。闭运算是膨胀先使用影响更加大起到了连接和填充的作用更加有“闭”的含义了。
看了作用当然要来一波效果瞧一瞧注意了开运算和闭运算的基础是在膨胀和腐蚀上的同样会有膨胀和腐蚀因为灰度不同产生貌似“不同的效果”。
使用Visionpro里面IPOneImage里面闭运算、开运算处理
原图 闭运算亮的部分白色填充这里是填充作用消除了噪点 开运算亮的部分白色断开 在matlab中使用bwmorph函数来处理开运算和闭运算还是采用相同的图片我们用matlab来试一下开运算和闭运算图片的名称为“image3.jpg。 I1 imread(image3.jpg); %读取原图像
levelgraythresh(I1); %最大类间方差法找到图片的一个合适的阈值
I im2bw(I1, level); %二值化图像
I2 bwmorph(I, open); %开运算
I3 bwmorph(I, close); %闭运算
figure(name,开运算和闭运算);
subplot(1,3,1); %一行三列第一张
imshow(I);
title(原图像);
subplot(1,3,2); %一行三列第二张
imshow(I2);
title(开运算);
subplot(1,3,3); %一行三列第三张
imshow(I3);
title(闭运算); 效果如下
在Visionpro中我调整了结构元素内核的大小和matlab中展示的效果稍有区别。可能会有友友想问为什么用visionpro其实传统机器视觉在工业领域通常采用visionpro和halcon在我接触到的项目领域里面采用了visionpro当然如果是在学术界matlab会使用得更加多。
接下来我们讲一下细化
一个图像的“骨架”是指图像中央的骨骼部分是描述图像几何重要特征之一。求一幅图像的“骨架”的过程通常称作为图像的“细化”的过程当然也可以这么说细化*是把一个平面区域简化成图的结构形状表示方法*。由此可以看出细化作用就是有助于突出图像形状特点和减少冗余信息量。
细化的过程通常是图像特征有规律的减少像素点宽度变窄在减少的过程中图像的连通性要求保持不变。
细化的概念还是非常好理解的吧直接看一下效果吧注意了细化前务必对图像进行一定处理确保噪声等不会影响到细化。
原图 代码如下
y1 imread(7.jpg); %读取原图像
levelgraythresh(y1); %最大类间方差法找到图片的一个合适的阈值
y im2bw(y1, level); %二值化图像
figure(name,细化);
subplot(1,2,1); imshow(y); title(原始图像);
img_thin bwmorph(y, thin, Inf);% 细化
subplot(1,2,2); imshow(img_thin); title(细化);
运行结果如下
从上面可以看到细化提取了图像的”骨架“图像太小了实际上那些线是连接的连通的。放大版 最后写了这么多有一个疑惑会产生有了腐蚀和膨胀为什么还需要开运算和闭运算呢?
可以这么思考腐蚀在去除图像的噪声同时压缩图像导致图像的前景变小。膨胀去除噪声并且扩大了前景但是可能会增强图像的边缘噪声这两者都有局限性。膨胀和腐蚀两者有互相弥补的特点就出现了开运算和闭运算。
“人生用特写镜头来看是悲剧,长镜头来看则是喜剧。”当前的点滴是为后期厚积薄发做准备趁青春勇敢闯
欢迎各位大佬指出文章不足