2014-10-04 97 views
1

我需要一些帮助,也许我的工作想法。 其实我愿意做这些:如何减少图像中的噪音

  1. 灰度图像做边缘检测
  2. 出口刚刚检测边缘
  3. 它保存为* .png格式

现在我有一个问题。你可以在图片中看到它,我把它链接起来。

图片1是基准,图片2是边缘检测图片,图片3是png格式,但图片3中存在问题。实际上在这行后面(c#代码)。

btmimg.MakeTransparent(Color.Empty);  
Image img = (Image)btmimg; 
img.Save("1" + ".Png", ImageFormat.Png(; 

我看到检测到的边缘周围有噪音。

Example

所以任何人对此有任何想法?我怎样才能减少这些噪音?

是否有其他方式导出检测到的边缘并制作新的图像?

+0

请解释为什么在保存图像之前需要使所有空白(黑色)像素透明。 – 2014-10-06 10:37:02

+0

实际上,我想在image1上放置(或合并)image3。要查看更改 – 2014-10-07 04:38:22

+0

然后,应该做的是反转边缘检测结果(使黑色部分显示为白色,反之亦然),并将它们放在纯白色PNG图像的Alpha通道中。恐怕我不知道如何在C#中做到这一点,但它不应该很难找到。另外,请停止使用JPEG压缩。 “透明”图像太吵的部分原因是因为您显然将边缘检测应用于JPEG图像并增强了所有压缩假象。改用PNG。 – 2014-10-07 10:22:32

回答

0

这可能是因为你的噪音是黑色的值。 事情可能看起来像黑色,但不是100%黑色。 因此,您的边缘检测滤镜可以看到并包含近黑色。 也许prefilter您的数据,以便任何黑色瓦伦低于某个阈值被视为黑色。

你最好不要在这里使用图像压缩,并指定PNG不压缩。