【问题标题】:Implementation of Image Convolution (Image Processing) in CC中图像卷积(图像处理)的实现
【发布时间】:2013-11-27 00:42:13
【问题描述】:

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

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

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

有人可以告诉我C语言的代码或算法吗?

非常感谢。

【问题讨论】:

    标签: c image-processing implementation bmp


    【解决方案1】:

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

    Convolution to blur the image

    知道基本的卷积算法大同小异,影响只是内核值的变化。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        我为简单案例创建了图像卷积库 - https://github.com/RoyiAvital/Projects/tree/master/ImageConvolution

        速度非常快(OpenMP + SIMD)。
        虽然我不是某事的高级程序员,但只是尝试这样做以完成使用 SIMD 的第一步。 尽管如此,从 VS 2015 中可以看出,CPU 利用率还是不错的。

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

        您可以随意使用它。

        猜你喜欢
        • 2020-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-19
        • 2012-11-13
        • 2016-10-24
        相关资源
        最近更新 更多