【问题标题】:how to reduce noise in image如何减少图像中的噪点
【发布时间】:2023-03-30 02:06:01
【问题描述】:

我需要一些帮助,也许对我的工作有一些想法。 事实上我想做这些:

  1. 对灰度图像进行边缘检测
  2. 导出刚刚检测到的边缘
  3. 以 *.png 格式保存

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

pic 1是base,pic 2是边缘检测图像,pic 3是png格式,但是pic3有问题。实际上在这一行之后(c# 代码)。

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

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

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

还有其他方法可以导出检测到的边缘并制作新图像吗?

【问题讨论】:

  • 请解释为什么在保存图像之前必须使所有空白(黑色?)像素透明。
  • 事实上,我想在 image1 上放置(或组合) image3 。查看更改
  • 那么你应该做的是反转边缘检测结果(所以黑色部分显示为白色,反之亦然)并将它们放入纯白色PNG图像的alpha通道中。恐怕我不知道如何在 C# 中做到这一点,但应该不难找到。另外,停止使用 JPEG 压缩。您的“透明”图像如此嘈杂的部分原因是因为您显然正在对 JPEG 图像应用边缘检测并增强所有压缩伪影。请改用 PNG。
  • 我做到了。我结合了 image3 和 image1 。但 image3 有噪音,结果不合适。感谢您的解决方案,我确实使用 png 格式。

标签: image c#-4.0 image-processing


【解决方案1】:

可能是您的噪点位于黑色值中。 事物可能看起来是黑色的,但不是 100% 黑色。 因此,您的边缘检测过滤器会看到这一点并包括近乎黑色的。 也许对您的数据进行预过滤,以便任何低于某个阈值的黑色值都被视为黑色。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    相关资源
    最近更新 更多