如何使用matlab用白色填充猫的边界?
我已经试过了如何使用matlab用白色填充猫的边界?,matlab,image-processing,Matlab,Image Processing,我已经试过了imfill(img),但根本不起作用。 我注意到,imfill仅适用于对象边界完整且不像我拍摄的图像那样被破坏的图像 对于此特定图像,请执行以下操作: 在图像前添加一个白色行以关闭轮廓。 填充轮廓线。 删除辅助行 其他任何东西都需要更多的信息和示例。Matlab文档说明“孔是一组背景像素,无法从图像边缘填充背景”。在这种情况下,可以从边缘到达任何像素,因为其边界不完整。因此,从技术上讲,您发布的图像中没有漏洞。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定
imfill(img)
,但根本不起作用。我注意到,imfill仅适用于对象边界完整且不像我拍摄的图像那样被破坏的图像
对于此特定图像,请执行以下操作: 在图像前添加一个白色行以关闭轮廓。 填充轮廓线。 删除辅助行
其他任何东西都需要更多的信息和示例。Matlab文档说明“孔是一组背景像素,无法从图像边缘填充背景”。在这种情况下,可以从边缘到达任何像素,因为其边界不完整。因此,从技术上讲,您发布的图像中没有漏洞。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。看:。实际上你的猫已经吃饱了
imread
返回一个500x368 uint8
。轮廓值=0
(黑色)、轮廓值=255
(白色)和cat值内的区域=1
(几乎为黑色)。所以你可以做一些类似于im(im==1)=255代码>。但另一个想法也类似于@Piege's在图像周围添加辅助线或边框,稍后可以再次删除。您添加的示例与您实际查找的内容直接矛盾。您的图像具有“虚线”,但您提供的示例具有完全连接的轮廓。给我们一个真实的例子。