编码没有傅立叶函数的UnsharpMask

Jon*_*ono 5 c# fft image-processing gaussian

我在C#中做了一些图像处理代码,但我不能使用任何库或类似GNU的代码.

UnsharpMask函数依赖于高斯模糊,高斯模糊又依赖于傅立叶变换.我为所有这些编写了代码并且工作正常,但总而言之,我需要删除FFT函数.有没有办法以另一种方式执行非锐化掩码,可能不需要FFT?

Jon*_*ono 2

我找到了一个满足我需求的解决方案。

我尝试了几种快速但肮脏的模糊算法,发现Box BlurStack Blur都足够了。堆栈模糊比盒模糊具有更清晰的模糊效果,并且速度比高斯模糊快几倍。所以我可以使用其中任何一个来代替高斯。

所以现在我可以摆脱所有混乱的 FFT 代码并用更易于管理的代码替换它。这个解决方案可能并不适合所有人,但由于 UnsharpMask 是基于模糊的,所以我并不认为它是一门过于精确的科学。

顺便说一句,Gimp 的高斯模糊似乎也避免了 FFT。