您的位置:首页 > 编程语言 > MATLAB

MATLAB与图像处理(三):图像分成块

2014-06-04 10:00 218 查看
首先是介绍imresize()函数的使用
1)B=imresize(A,m); %将图像A的高和宽分别扩大m倍;
2)B=imresize(A,[m,n]);%将图像的高和宽分别扩大到m,n

为什么要介绍这个呢?因为图像分块时可能出现小数个块,为了使用其能够最大程度的显示出图像来,先将图像变成其整数倍~~~

[cpp]
view plaincopy





clc; clear all; close all;
I = imread('lena.jpg');
height= size(I, 1); %求出行
width = size(I, 2); %求出列
region_size = 256; %区域宽高大小
numRow = round(height/region_size);%图像在垂直方向能分成多少个大小为region_size
numCol = round(width/region_size);%图像在水平方向能分成多少个大小为region_size
I=imresize(I,[numRow*region_size,numCol*region_size]);%重新生成新的图像,以防止temp下标越界

t1 = (0:numRow-1)*region_size + 1; t2 = (1:numRow)*region_size;
t3 = (0:numCol-1)*region_size + 1; t4 = (1:numCol)*region_size;
figure;
k = 0;
for i = 1 : numRow
for j = 1 : numCol

temp = I(t1(i):t2(i), t3(j):t4(j), :);
k = k + 1;
subplot(numRow, numCol, k);
imshow(temp);
end
end

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: