1
我正在尝试平滑形态操作。我已经在图像1上完成了4 * 4侵蚀和4 * 4扩张(我尽最大努力实现侵蚀和扩张)。然后,我检测到最大的斑点来滤除噪音。然后我的下一步是平滑形象操作的图像2,这样我就可以填补图像轮廓内的空白。 我使用下面的代码段来填补使用aforge的差距。但是这种方法不会返回。填充AForge.net的孔不工作
public Bitmap fillGap(Bitmap image)
{
FillHoles filter = new FillHoles();
filter.MaxHoleHeight = 5;
filter.MaxHoleWidth = 5;
filter.CoupledSizeFiltering = false;
filter.Apply(image);
return image;
}
我的下一步是纠正它的方法是什么?
仍功能不起作用。有没有图像格式(8bbp)丢失? – TNC 2012-08-02 20:21:39
根据FillHoles类文件,图像必须是8bpp二进制,是的。我真的没有太多的经验与自己的图书馆,放在安全的一面,也许你可以创建一个源图像的克隆,并在克隆图像上应用FillHoles过滤器? 'var clonedImg = Image.Clone(image,PixelFormat.Format8bppIndexed);'。我不确定这是否足以让图像易受FillHoles滤镜影响,但至少值得一试? – 2012-08-02 20:44:18
也许你还需要在'FillHoles'过滤器之前应用'Threshold'过滤器。看看[this](http://stackoverflow.com/q/11005067/650012)SO问题。 – 2012-08-02 20:49:46