怎样利用matlab对一幅图像进行分块以及重组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样利用matlab对一幅图像进行分块以及重组?相关的知识,希望对你有一定的参考价值。

就是将指定的图像分解成若干个大小相等的块,进行某些运算后在重组成一幅图。
能不能给出分块函数的名称或是源代码?
高手帮帮忙!

用col2im函数就行,

    如果是将图像分割成块的时候用的im2col参数为'distinct',那么用col2im函数时参数也是'distinct',

    如果分割图像的时候参数为'sliding',那么用需要用reshape+accumarray函数解决。


参考技术A clear
clc
img = double(imread('tire.tif'));
[r c] = size(img);
w = 8;
imgBlock = im2col(img,[w w],'sliding'); imgBlock = imgBlock(:);
[x y] = meshgrid(1:c,1:r);
xx = im2col(x,[w w], 'sliding'); xx = xx(:);
yy = im2col(y,[w w], 'sliding'); yy = yy(:);
img2 = accumarray([yy xx], imgBlock, [], @mean);
figure,imshow(img, []);
figure,imshow(img2,[]);
参考技术B ssf

以上是关于怎样利用matlab对一幅图像进行分块以及重组?的主要内容,如果未能解决你的问题,请参考以下文章

利用matlab如何将一幅图片按尺寸分割成若干小图片

matlab图像处理

Matlab中怎样将一幅图像放大或缩小至固定的大小

matlab高光谱影像读取保存分块

怎么用matlab对图像进行裁剪

matlab图像显示及保存