C语言中图像卷积(图像处理)的实现

时间:2013-11-14 05:35:39

标签: c image-processing implementation bmp

我正在测试我在某些网站上发现的一些卷积算法,但它们都没有应用矩阵滤波器。

我自己编写了一个非常简单的24位bmp库,但现在我需要一点卷积的帮助,我不需要FFT或复杂算法,此时运行时间并不重要。

我测试的最后一个代码是:http://lodev.org/cgtutor/filtering.html但我的工作不正常。

有人可以用C表示我的代码或算法吗?

非常感谢。

3 个答案:

答案 0 :(得分:0)

你可以看看这个算法 - 这是我能找到的最接近的算法:

Convolution to blur the image

知道基本卷积算法或多或少相同,影响仅由内核值改变。

答案 1 :(得分:0)

有一个开源C# library,它提供了执行简单过滤器图像卷积的方法。这将是C的一个简单的港口。

执行卷积的实际方法可以是found here。 BitmapContext类用于将指针包装到位图。我相信C#这被视为int *,所以这段代码一次只能运行4个字节。

答案 2 :(得分:0)

我为简单案例创建了Image Convolution库 - https://github.com/RoyiAvital/Projects/tree/master/ImageConvolution

速度非常快(OpenMP + SIMD) 虽然我不是某个高级程序员,但我只是尝试用它来完成利用SIMD的第一步。 不过,从VS 2015中可以看出,CPU利用率相当不错。

如果你有想法让它更快,我会很高兴。

随意以任何您喜欢的方式使用它。