问题标签 [convolution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5966 浏览

android - 如何在 Android Renderscript 中编写卷积乘法?

我是 Android 渲染脚本的新手。我需要在 RenderScript 中编写卷积乘法,因为最终应用程序将在 Android 上运行。数据流将是一个图像。更具体地说,我无法使用 forEach 功能编写核心逻辑,虽然我可以在 Java 中完成,但速度太慢了!请帮忙!史蒂夫

0 投票
1 回答
10905 浏览

c++ - CUDA 小核 2d 卷积 - 怎么做

几天来,我一直在试验 CUDA 内核,以在 500x500 图像(但我也可以改变尺寸)和非常小的 2D 内核(拉普拉斯 2d 内核,所以它是 3x3 内核)之间执行快速 2D 卷积。太小了充分利用所有 cuda 线程)。

我创建了一个 CPU 经典实现(两个 for 循环,就像你想象的那样简单),然后我开始创建 CUDA 内核。

经过几次令人失望的更快卷积尝试后,我最终得到了以下代码: http ://www.evl.uic.edu/sjames/cs525/final.html (参见共享内存部分),它基本上允许 16x16 线程块将他需要的所有卷积数据加载到共享内存中,然后执行卷积。

没什么,CPU还是快了很多。我没有尝试 FFT 方法,因为 CUDA SDK 声明它对大内核大小有效。

无论您是否阅读了我写的所有内容,我的问题是:

如何使用 CUDA 在相对较大的图像和非常小的内核 (3x3) 之间执行快速 2D 卷积?

0 投票
2 回答
5981 浏览

matlab - opencv中有没有相当于matlab conv2的函数

matlab函数conv2有没有直接的opencv函数?我尝试使用 cvFilter2D(),但它似乎给了我与 conv2() 不同的结果。

例如:

请帮助我。它对我非常有用。谢谢。

问候

阿兰加拉詹。

0 投票
2 回答
1114 浏览

matlab - 用 MATLAB 中从较小矩阵中提取的平均值替换矩阵值

假设我有一个10 x 10矩阵。然后我要做的是用一个矩阵遍历整个3 x 3矩阵(除了边缘以使其更容易),并从这个矩阵中我得到这个空间3 x 3的平均值/平均值。3 x 3然后我想做的是用那些新的平均值/平均值替换原始矩阵值。

有人可以向我解释我该怎么做吗?一些代码示例将不胜感激。

0 投票
2 回答
3234 浏览

iphone - 如何提高 iPhone 上的 OpenCV 性能?

我使用 AVFoundation 来捕捉视频以及 OpenCV 在 iPhone 上进行图像处理。但是,我正在考虑使用 OpenGL 着色器对 192x144 灰度图像进行计算(卷积)。

我的问题是:使用 OpenGL 是否有意义,我的意思是:渲染到 IplImage 中(甚至可能吗?)太慢了吗?或者,有没有一种方法可以加快卷积速度?

编辑

在 OpenCV 中,我正在使用

cvMorphologyEx.

0 投票
2 回答
1082 浏览

objective-c - 获取数据图像进行处理的最佳方法

我想从 uiimage 获取数据以读取 rgb 值。我想将此数据用于卷积过滤器。在互联网上,我发现只有一种方法:

没关系,但我想处理数组上的像素,如下所示:[x][y][r,b,g]。

我该如何解决?

0 投票
0 回答
1195 浏览

php - 如何使用图像卷积函数创建强烈的模糊

我正在尝试使用 PHP 函数图像卷积创建一个非常模糊的图像。该图像用作滑块中图像后面的背景。

我试过使用图像过滤器,但高斯模糊和选择性模糊非常轻,你不能改变模糊。

这是我目前用来创建模糊的代码,但它并没有真正模糊图像。

我需要一个更好的矩阵数组公式来创建更强的模糊。

0 投票
1 回答
4604 浏览

cuda - CUDA 2D 卷积核

我是 CUDA 的初学者,我正在尝试实现 Sobel Edge 检测内核。我正在使用此代码,但它不起作用。谁能告诉我它有什么问题。我只得到一些 -1 和一些非常大的值。

我这样称呼这个内核:

0 投票
1 回答
948 浏览

matlab - 使用重叠保存的缓冲块卷积

所以,我目前正在matlab中实现块卷积的重叠保存方法,并且在这样做时遇到了一些麻烦。

我的实现是使用缓冲输入来实时处理向量中的输入数据。输入被馈送到我的重叠保存类的实例,一旦缓冲区已满,输入超过预定义的块长度(大于过滤器长度),输入将按块处理(块长度的大小)使用标准的重叠保存算法,直到缓冲区中的数据长度小于块长度。然后它坐下来等待更多数据进入并重复该过程。

现在一切似乎都工作正常,但问题是在所有输入都传递给类之后刷新缓冲区。当调用 flush 方法时,缓冲区中的数据总是少于块大小,并且我在处理剩余数据时遇到了麻烦。

还应该值得注意的是,类在处理普通数据后,会将输入的最后 N-1 个(其中 N 是过滤器长度)数据点保留在缓冲区中,以维护算法的“重叠”部分用于后续数据或最后的冲洗。

我想我的问题是在调用 flush() 时应该如何处理缓冲区中的剩余数据?我尝试简单地进行零填充并将其与过滤器进行卷积,但这会产生垃圾输出......有什么建议吗?

注意:flush 的输出应该附加到处理普通数据块的输出中,并且这个新的输出应该与 matlab 中的 conv(input, filter) 的输出相匹配。

0 投票
1 回答
2408 浏览

python - 通过卷积掩码进行梯度计算

我需要计算一个矩阵的梯度(3,3),比如说a=array([[1,4,2],[6,2,4],[7,5,1]])

我只是使用:

我知道计算矩阵梯度的一种方法是通过对每个方向的掩码进行卷积,但结果不同

错误在哪里?