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
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
相关文章推荐
- MATLAB与图像处理(三):图像分成块
- matlab 把图像分成2x4小矩阵用平均值替代 图像模糊处理
- 部分matlab处理图像代码
- Matlab中批处理图像的方法
- Matlab中如何读出写入图像文件以及对图像的简单处理
- 转载:MATLAB图像处理函数汇总 (二)
- 转载:MATLAB图像处理函数汇总 (二)
- 基于MATLAB的储粮害虫图像处理方法
- matlab 图像处理命令(ZZ)
- MATLAB GUI 打开/显示/处理 /保存/图象(图像)程序
- MATLAB图像处理基础
- 用Matlab处理Dicom图像
- MATLAB图像处理基本知识
- matlab图像处理(一)--图片读写
- 使用Matlab进行图像处理
- matlab图像处理学习笔记-数学形态与二值图像操作
- MATLAB 图像处理命令
- matlab图像处理函数汇总
- 关于matlab图像处理
- Matlab处理图像二三例