我正在努力平滑形态学操作。我已经在图像1上进行了4 * 4侵蚀和4 * 4扩张(我尽力在侵蚀和扩张方面达到最佳效果)。然后我检测到最大的斑点来过滤掉噪音。然后我的下一步是平滑图像2 的形态学操作,以便我可以填充图像轮廓内的间隙。 我使用以下代码段来填充使用aforge的差距。但是这种方法没有返回任何内容。
public Bitmap fillGap(Bitmap image)
{
FillHoles filter = new FillHoles();
filter.MaxHoleHeight = 5;
filter.MaxHoleWidth = 5;
filter.CoupledSizeFiltering = false;
filter.Apply(image);
return image;
}
我的下一步是什么来纠正它?
答案 0 :(得分:1)
根据API documentation,Apply
方法保持源图像不变。用以下方法替换方法中的最后两行:
return filter.Apply(image);
或使用ApplyInPlace
方法代替Apply
:
filter.ApplyInPlace(image);
return image;
顺便说一句,MaxHoleHeight
和MaxHoleWidth
是否设置为足够大的值?