问题标签 [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 回答
697 浏览

algorithm - 超分辨率和拉普拉斯项

我正在编写一个允许执行 SuperResolution 算法的程序。在书中,在复原的路上,他们使用了离散的拉普拉斯算子。我必须以某种方式将矩阵(我的图像)乘以这个拉普拉斯算子。所以,我必须将此运算符表示为矩阵,但我无法想象如何?

书中的文字:

拉普拉斯算子是一个二阶导数项,但对于离散数据,它可以通过具有以下形式的掩码的单个卷积来近似:

在此处输入图像描述

操作员将此卷积作为矩阵乘法执行。它具有如下形式(空白代表零)。

在此处输入图像描述

PS对不起我的英语!:)

0 投票
1 回答
1508 浏览

python - python中matlab的deconv的高效版

python中matlab的deconv是否有有效的实现?

(令人惊讶的是,谷歌搜索并没有带来有趣的结果)

0 投票
2 回答
854 浏览

image-processing - 在 RGB 图像上应用非锐化蒙版?

RGB 图像的 Unsharp 蒙版算法是否与灰度图像相同?我只是将其应用于所有渠道吗?

或者也许我可以转换 RGB -> HSL 并应用它,然后返回 RGB?

谢谢

0 投票
3 回答
4100 浏览

image-processing - 使用 FFTW 进行图像卷积时内核在哪里居中?

我正在尝试使用 FFTW 进行图像卷积。

起初只是为了测试系统是否正常工作,我执行了 fft,然后执行了逆 fft,并且可以得到完全相同的图像返回。

然后向前迈出一小步,我使用了身份内核(即,内核[0][0] = 1,而所有其他组件都等于 0)。我在图像和内核(都在频域中)之间取了分量乘积,然后做了逆 fft。从理论上讲,我应该能够得到相同的图像。但是我得到的结果与原始图像非常不一样。我怀疑这与我在将内核 fft 进入频域之前将内核居中的位置有关(因为我将“1”放在内核 [0] [0] 中,这基本上意味着我将积极的部分居中在顶部剩下)。谁能告诉我这里出了什么问题?

0 投票
2 回答
3810 浏览

matlab - 矩阵和子矩阵之间的反卷积

我有一个矩阵a=[[1 2 3]; [4 5 6]; [7 8 9]]和一个子矩阵b=[[5 6];[8 9]]

matlab中是否有反卷积的方法(a,b)

我正在寻找一种方法来识别可能的巨型矩阵中是否存在子矩阵。通过一种反卷积,我希望获得类似于矩阵的东西,周围和1子矩阵存在的地方都是零。

在上面的示例中,a1在右下角。

0 投票
1 回答
736 浏览

c++ - 使用 CUDA 进行循环卷积

在 FFT2D 论文中

http://developer.download.nvidia.com/compute/cuda/2_2/sdk/website/projects/convolutionFFT2D/doc/convolutionFFT2D.pdf

在图 1 和图 2 中指出:

假设图像大于卷积核,实际中通常是这种情况,卷积核需要根据图 1 扩大到图像大小并进行填充。如图 2 和图 3 所示(见下文),带有扩展核的循环卷积等价于带有初始卷积核的循环卷积。

如果我对一个元素执行内核和图像之间的卷积,并尝试在扩展内核和同一元素的图像之间执行卷积,它会产生不同的结果。

我在某处读到“循环卷积”与经典的“卷积”相同,这是正确的吗?否则我应该如何解释这个?

0 投票
1 回答
1443 浏览

cuda - CUDA - 如何在卷积之前填充内核?

我知道频率乘法 = 离散信号(向量)在时间空间中的循环卷积。

我也知道“只有在 x(n) 和 h(n) 在 DFT 之前用零填充以使它们各自的长度为 Nx+Nh-1 时,卷积定理才会产生所需的线性卷积结果,基本上将所有循环归零文物。”

一切都适用于向量..但我的目标是与本文中的矩阵进行循环卷积:

http://developer.download.nvidia.com/compute/cuda/2_2/sdk/website/projects/convolutionFFT2D/doc/convolutionFFT2D.pdf

如果您观察前两个图(图 1 和图 2),您会看到内核以一种我以前从未见过的奇怪方式填充,这是什么?

0 投票
2 回答
606 浏览

image-processing - Leptonica 中带有偏差的卷积

我想用卷积核过滤像素,但有偏差,我看不到如何使用 Leptonica API“模拟”偏差。

到目前为止,我有:

任何想法如何模仿经典的“偏见”?我试图在 pixConvolve 之前或之后将它的值添加到图像的每个像素,但结果不是大多数图像处理软件观察到的结果。

0 投票
1 回答
729 浏览

c++ - 搜索基于 3D fft 的卷积库

我有一个大的 3D 矩阵和一个小的 3D 矩阵,我想使用基于 3D fft 的卷积在较大的矩阵中找到我的小 3D 矩阵的最佳匹配。你有任何 C++ 代码可以做到这一点吗?

0 投票
1 回答
496 浏览

matlab - 跨维度转换matlab

我有一个 3D 体积,我想在第一维上应用一个高斯滤波器(带 conv)。这意味着我希望每一列都与过滤器独立地进行卷积。我需要类似的东西:

我尝试的是用零填充立方体的列(到过滤器宽度的大小),然后使用:

但这太耗费内存/时间了!

谢谢 Matlabit