哪里可以找到C#的非锐化掩码?

时间:2009-05-21 12:30:25

标签: c# image-processing image-manipulation

我一直试图找到一个代码片段来在C#中做一个非锐化的掩码,但是找不到一个有效或完整的掩码。我发现了一个PHP版本,但我想在C#中找到一个,然后才能完成从PHP转换的所有艰苦工作。

我只是个初学者。有人能指出我正确的方向吗?

5 个答案:

答案 0 :(得分:1)

AForge.NET Framework包含许多图像处理过滤器并支持自己插入。您可以在自己的Image Processing Lab应用程序中查看它。


更新:AForge.NET有一个基于卷积的sharpen过滤器(参见convolution filters),但没有提到一个非锐化的掩码过滤器本身。然后,您可以使用高斯模糊滤镜并从原始图像中减去结果,这基本上是非锐化蒙版滤镜的作用。或者基本的锐化可能足以满足您的需求。


更新:进一步看,AForge.NET确实有一个Gaussian sharpen,它似乎是一个非锐化掩码过滤器的实现,你可以控制一些参数。

答案 1 :(得分:1)

您是否愿意使用FFT?如果需要,可以转换,移除或强调高频率,转换变换,重新组合。由于FFT库比比皆是,因此几乎没有任何许可问题。

或者,您可以手工制作蒙版,根据需要改变大小和常数,然后将它们与图像像素进行卷积(嵌套'for'循环......)。

这是一个3x3x1掩码作为文本文件,其值在值之前给出:

// 3x3x1

// x size

3

// y size

3

// z size

1

// z = 0

2 3 2

3 5 3

2 3 2

//结束

这可以扩展到3个维度(因此给出z大小)。

答案 2 :(得分:1)

最新版本的开源C#Image Library有一个非锐化的遮罩滤镜(以及高斯模糊,亮度/对比度等),非常易于使用。

你会找到tutorial how to apply an unsharp mask here

答案 3 :(得分:0)

查看此博客条目是否可以帮助您找到正确的方向:

http://anand-vinay.blogspot.com/2008/01/unsharp-mask-in-cnet.html

编辑:好的,博客条目不起作用,抱歉链接不好。

我找到了一个完整的应用程序,您可以使用我认为您正在寻找的代码下载源代码。

http://www.ctyeung.com/Csharp/index.html

答案 4 :(得分:0)

Christian Graus的Image Processing for Dummies with C# part 2包含源代码,并解释了如何解开(假设你的意思是平滑)。整个系列是使用GDI(在C#中)进行图像处理的绝佳介绍,不需要外部库。