【发布时间】:2023-03-30 02:06:01
【问题描述】:
我需要一些帮助,也许对我的工作有一些想法。 事实上我想做这些:
- 对灰度图像进行边缘检测
- 导出刚刚检测到的边缘
- 以 *.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