MATLAB图象处理函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB图象处理函数

1. 图象文件处理

I=imread(filename)_______读入图象文件到内部矩阵图象变量(以后简称图象)

imwrite(I,filename)_______将指定图象写到磁盘的图象文件(以后简称图象文件)上imfinfo(filename)_______显示图象文件的信息

2. 图象显示

2.1 基本显示

imshow filename______直接在当前窗口显示图象文件

imshow(I)______在当前窗口显示指定图象

rgb = getimage______将当前窗口显示的图象读入到矩阵图象变量

2.2 多幅图象的显示

figure;imshow(I,map)______在新的图象窗口上显示指定图象(多幅图象显示在不同的图象窗口上)

subplot(m,n,p);imshow(I,map)____在图象窗口的指定位置上显示指定图象(多幅图象显示在同一个图象窗口上)[会因不同图象的map不同而用完系统颜色导致显示出错(尤

其是8bit显示系统上)]

subplot(m,n,p);subimage(I,map)____在图象窗口的指定位置上显示指定图象(多幅图象显示在同一个图象窗口上)[subimage先将图象转化为RGB图象然后再显示,因而不同

图象的map不同而用完系统颜色导致显示出错]

2.3 图象显示的放大和缩小

(1)用图象窗口的工具按钮实现[略]

(2)用命令窗口的函数实现

zoom on______允许进行放大和缩小

zoom in______对图象进行放大

zoom out_____对图象进行缩小

zoom off_____禁止进行放大和缩小

3. 图象的运算

Z = imabsdiff(X,Y) _____求两图象差的绝对值

Z = imadd(X,Y) _____图象相加

IM2 = imcomplement(IM) _____求图象的补

Z = imdivide(X,Y) _____两图象对应象素相除或图象除以常数

Z = imlincomb(K1,A1,K2,A2,...,Kn,An) _____计算一系列图象的线性组合图象

Z = immultiply(X,Y) _____两图象对应象素相乘或图象乘以常数

Z = imsubtract(X,Y) _____图象相减

4. 图象处理

在MA TLAB中,图象是以矩阵的形式存放的,二值图象、灰度图象和索引(Indexed)图象用二维矩阵存放,彩色(RGB)图象用三维矩阵存放。前一类图象可以通过双下标访问图象

的象素,如I(i,j),彩色(RGB)图象可以通过三下标访问图象的象素,如I(i,j,k),k=1,2,3分别表示R、G和B三个彩色分量。

4.1 图象直方图

imhist(I)_______绘制指定图象变量的直方图到当前窗口

I1=histeq(I)_______求指定图象的直方图均衡化图象

4.2 图象的灰度变换

J = imadjust(I,[low_in high_in],[low_out high_out])______调整图象的灰度范围

level = graythresh(I)_______求图象的全局门限以便对图象进行二值化处理

BW = im2bw(I,level)[BW = im2bw(X,map,level),BW = im2bw(RGB,level)]_____按指定的门限将指定图象I转化为二值图象。

4.3 图象的格式转换

I2=im2double(I1)_____将图象转换为双精度格式

I2=im2uint8(I1)_____将图象转换为8比特字节格式

I2=im2uint16(I1)_____将图象转换为16比特字格式

4.4 多帧图象的处理

Im=cat(4,I1,I2,I3,…)______将多幅图象I1,I2,I3,…在第4维上合成一个多帧图象Im (cat为矩阵连接函数,cat(2,A,B) 等价于[A,B],cat(1,A,B) 等价于[A;B])

Frm3 = Im(:,:,:,3)_________取多帧图象Im的第3幅图象(可用于赋值、显示)

Imshow(Im(:,:,:,3))________显示多帧图象Im的第3幅图象

montage(Im)_______同时显示多帧图象Im的各幅图象(按列方式组成一个近似正方型)

mov = immovie(Im)_____将多帧图象Im转化为电影图象mov

movie(mov)_____显示电影图象mov

===================== 例=========================

The following example loads mri.tif and displays the third frame.

% Initialize an array to hold the 27 frames of mri.tif

mri = uint8(zeros(128,128,1,27));

for frame=1:27 % Read each frame into the appropriate frame in memory

[mri(:,:,:,frame),map] = imread('mri.tif',frame);

end

imshow(mri(:,:,:,3),map);

================================================

4.5 图象的几何变换

4.5.1图象尺寸变换

B = imresize(A,m,method)_____将图象A放大(m>1.0)或缩小(0

B = imresize(A,[mrows ncols], method) _____将图象A变换为mrows行ncols列的图象

B = imresize(...,method,n) _____用nX n模板完成上述几何变换插补中的滤波

B = imresize(...,method,h) _____用指定的模板h完成上述几何变换插补中的滤波

method: 一个可选的参数,决定几何变换插补的方法,可取值如下:

'nearest' (default) uses nearest neighbor interpolation.

相关文档
最新文档