MATLAB中的部分卷积

时间:2013-01-29 00:42:17

标签: image matlab image-processing signal-processing convolution

我有大矩阵(图像)和一个小模板。我想用较大的矩阵卷积小矩阵。例如,蓝色区域是我想要用于卷积的部分。换句话说,我可以对所有图像使用卷积,但由于CPU时间增加,因此,我想只关注所需的蓝色部分。

MATLAB中是否有可用于此卷积的命令?或者,我如何强制卷积函数只使用特定的不规则部分进行卷积。

enter image description here

2 个答案:

答案 0 :(得分:0)

我怀疑你可以做一个不规则的形状(快速卷积是用2D FFT完成的,这需要一个方形区域)。您可以通过查找形状的边界框来优化它,从而丢弃空边框。

答案 1 :(得分:0)

@Nicole我会选择fft2(im)。* fft(smallIm),这相当于conv2(im,smallIm)。
至于识别不规则形状,你可以使用像canny这样的边缘检测并找到最多(左,右,上,下)点的值,因为canny返回二进制(1,0)图像并准备一个边界框,使用值。但这需要一些时间来创建。我不确定这会有多快。