问题标签 [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.
algorithm - 超分辨率和拉普拉斯项
我正在编写一个允许执行 SuperResolution 算法的程序。在书中,在复原的路上,他们使用了离散的拉普拉斯算子。我必须以某种方式将矩阵(我的图像)乘以这个拉普拉斯算子。所以,我必须将此运算符表示为矩阵,但我无法想象如何?
书中的文字:
拉普拉斯算子是一个二阶导数项,但对于离散数据,它可以通过具有以下形式的掩码的单个卷积来近似:
操作员将此卷积作为矩阵乘法执行。它具有如下形式(空白代表零)。
PS对不起我的英语!:)
python - python中matlab的deconv的高效版
python中matlab的deconv是否有有效的实现?
(令人惊讶的是,谷歌搜索并没有带来有趣的结果)
image-processing - 在 RGB 图像上应用非锐化蒙版?
RGB 图像的 Unsharp 蒙版算法是否与灰度图像相同?我只是将其应用于所有渠道吗?
或者也许我可以转换 RGB -> HSL 并应用它,然后返回 RGB?
谢谢
image-processing - 使用 FFTW 进行图像卷积时内核在哪里居中?
我正在尝试使用 FFTW 进行图像卷积。
起初只是为了测试系统是否正常工作,我执行了 fft,然后执行了逆 fft,并且可以得到完全相同的图像返回。
然后向前迈出一小步,我使用了身份内核(即,内核[0][0] = 1,而所有其他组件都等于 0)。我在图像和内核(都在频域中)之间取了分量乘积,然后做了逆 fft。从理论上讲,我应该能够得到相同的图像。但是我得到的结果与原始图像非常不一样。我怀疑这与我在将内核 fft 进入频域之前将内核居中的位置有关(因为我将“1”放在内核 [0] [0] 中,这基本上意味着我将积极的部分居中在顶部剩下)。谁能告诉我这里出了什么问题?
matlab - 矩阵和子矩阵之间的反卷积
我有一个矩阵a=[[1 2 3]; [4 5 6]; [7 8 9]]
和一个子矩阵b=[[5 6];[8 9]]
。
matlab中是否有反卷积的方法(a,b)
?
我正在寻找一种方法来识别可能的巨型矩阵中是否存在子矩阵。通过一种反卷积,我希望获得类似于矩阵的东西,周围和1
子矩阵存在的地方都是零。
在上面的示例中,a1
在右下角。
c++ - 使用 CUDA 进行循环卷积
在 FFT2D 论文中
在图 1 和图 2 中指出:
假设图像大于卷积核,实际中通常是这种情况,卷积核需要根据图 1 扩大到图像大小并进行填充。如图 2 和图 3 所示(见下文),带有扩展核的循环卷积等价于带有初始卷积核的循环卷积。
如果我对一个元素执行内核和图像之间的卷积,并尝试在扩展内核和同一元素的图像之间执行卷积,它会产生不同的结果。
我在某处读到“循环卷积”与经典的“卷积”相同,这是正确的吗?否则我应该如何解释这个?
cuda - CUDA - 如何在卷积之前填充内核?
我知道频率乘法 = 离散信号(向量)在时间空间中的循环卷积。
我也知道“只有在 x(n) 和 h(n) 在 DFT 之前用零填充以使它们各自的长度为 Nx+Nh-1 时,卷积定理才会产生所需的线性卷积结果,基本上将所有循环归零文物。”
一切都适用于向量..但我的目标是与本文中的矩阵进行循环卷积:
如果您观察前两个图(图 1 和图 2),您会看到内核以一种我以前从未见过的奇怪方式填充,这是什么?
image-processing - Leptonica 中带有偏差的卷积
我想用卷积核过滤像素,但有偏差,我看不到如何使用 Leptonica API“模拟”偏差。
到目前为止,我有:
任何想法如何模仿经典的“偏见”?我试图在 pixConvolve 之前或之后将它的值添加到图像的每个像素,但结果不是大多数图像处理软件观察到的结果。
c++ - 搜索基于 3D fft 的卷积库
我有一个大的 3D 矩阵和一个小的 3D 矩阵,我想使用基于 3D fft 的卷积在较大的矩阵中找到我的小 3D 矩阵的最佳匹配。你有任何 C++ 代码可以做到这一点吗?
matlab - 跨维度转换matlab
我有一个 3D 体积,我想在第一维上应用一个高斯滤波器(带 conv)。这意味着我希望每一列都与过滤器独立地进行卷积。我需要类似的东西:
我尝试的是用零填充立方体的列(到过滤器宽度的大小),然后使用:
但这太耗费内存/时间了!
谢谢 Matlabit