使用在Matlab im2col
滑动窗口我已转换的输入图像块分割成柱,并再次通过使用col2im
i执行逆过程,但输出不与输入相同的图像。我怎样才能恢复输入图像?谁能帮帮我吗。柱阻止使用滑动窗在MATLAB
下面是代码
in=imread('tire.tif');
[mm nn]=size(in);
m=8;n=8;
figure,imshow(in);
i1=im2col(in,[8 8],'sliding');
i2 = reshape(sum(i1),mm-m+1,nn-n+1);
out=col2im(i2,[m n],[mm nn],'sliding');
figure,imshow(out,[]);
在此先感谢...
感谢您的回应。问题是将图像矩阵转换为块后输出图像与输入图像相同,反之亦然。使用滑动窗口将输入图像(灰度强度图像)转换成尺寸为8×8的块,然后完成反向处理。通过在独特的窗口技术中使用IM2COL&COL2IM,这是可能的。它可以在滑动窗口技术。 – user714696 2011-04-20 00:17:06
@ user714696:正如我在答复的第一点中提到的那样,使用滑动块选项总会给你一个稍小的结果。原因是因为没有使用该技术的填充,并且使用填充是您可以将窗口中心放在边缘点上的唯一方法。因此,如果您想要得到与输入图像大小相同的结果图像,则需要使用不同的块选项。 – gnovice 2011-04-20 02:08:21
@ user714696 - 您可以编辑问题以更好地反映您正在查找的内容。如果它的块处理,看看| blkproc |和| blockproc | (新版本)。 – 2011-04-20 13:05:29