MATLAB图像处理常用函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.MATLAB基础
1.Linspace
功能:
创建从初值开始到终值结束,有n个元素的行向量x。
语法:
X=linspace(初值,终值,n)
2.Logspace
功能:
创建从初值开始到终值结束,有n个元素对数分隔量x。
语法:
X=logspace(初值,终值,n)
3.Ones
功能:
创建元素全为1的数组。
语法:
A=ones(n) (n*n的1数组)
A=ones(r,c) (r*c的1数组)
4.zeros
功能:
创建元素全为0的数组。
语法:
A=zeros(n) (n*n的0数组)
A=zeros(r,c) (r*c的0数组)
5.Eye
功能:
创建单位矩陈。
语法:
A=eye(n)
6.rand
功能:
创建随机矩阵。
语法:
A=rand (m,n)
7.randn
功能:创建正态分布的随机矩阵。
语法:
A=randn(m,n)
8.Find
功能:
寻找非零元素下标。
语法:
I = find(X)
[I,J] = find(X)
[I,J,V] = find(X)
9.Size
功能:
返回矩阵大小。
语法:
D = size(X)
[M,N] = size(X)
10.Length
功能:
获得已知数组的规模。
语法:
N=length(A)
11.Reshape
功能:
改变数组维数、大小。
语法:
X=reshape(A,m,n)
12.Repmat
功能:
铺放模块维数
语法:
X = repmat(A,m,n)
13.Diag
功能:
提取矩阵的对角元素,并返回给列向量。语法:
diag(V,K)
14.Flipud
功能:
将矩阵上下翻转。
语法:
X=flipud(A)
15.Fliplr
功能:
将矩阵左右翻转。
语法:
X=fliplr(A)
16.All
功能:
所有元素非零为真。
语法:
X=all(A)
17.Any
功能:
所有元素非全零为真。
语法;
X=any(A)
二.转换图像类型:
1.Dither
功能:
通过抖动增加外观颜色分辨率,转换图像。语法:
X = dither(RGB,map)
BW = dither(I)
相关命令:
rgb2ind
2.im2bw
功能:
转换图像为二进制图像。
语法:
BW = im2bw(I,level)
BW = im2bw(X,map,level)
BW = im2bw(RGB,level)
举例
load trees BW = im2bw(X,map,0.4); imshow(X,map)
figure, imshow(BW)
相关命令:
ind2gray, rgb2gray
3.ind2gray
功能:
把检索图像转化为灰度图像。
语法:
I = ind2gray(X,map)
举例
load trees
I = ind2gray(X,map);
imshow(X,map)
figure,imshow(I)
相关命令:
gray2ind, imshow, rgb2ntsc
4.ind2rgb
功能:
转化索引图像为RGB 真彩图像。语法:
RGB = ind2rgb(X,map)
相关命令:
ind2gray, rgb2ind
5.mat2gray
功能:
转化矩阵为灰度图像。
语法:
I = mat2gray(A,[amin amax])
I = mat2gray(A)
举例
I = imread('rice.tif');
J = filter2(fspecial('sobel'),I);
K = mat2gray(J);
imshow(I)
figure, imshow(K)
相关命令:
gray2ind
6.gray2ind
功能:
转换灰度图像为索引图像。
语法:
[X,map] = gray2ind(I,n)
相关命令:
ind2gray
7.grayslice
功能:
从灰度图像创建索引图像。
语法:
X = grayslice(I,n)
X = grayslice(I,v)
举例
I = imread('ngc4024m.tif');
X = grayslice(I,16);
imshow(I)
figure, imshow(X,jet(16))
相关命令:
gray2ind
8.rgb2gray
功能:
转换RGB 图像或颜色映像表为灰度图像。语法:
I = rgb2gray(RGB)
newmap = rgb2gray(map)
相关命令:
ind2gray, ntsc2rgb, rgb2ind, rgb2ntsc
9.rgb2ind
功能:
转化RGB 图像为索引图像。
语法:
[X,map] = rgb2ind(RGB,tol)
[X,map] = rgb2ind(RGB,n)
X = rgb2ind(RGB,map)
[...] = rgb2ind(...,dither_option)
举例
RGB = imread('flowers.tif');
[X,map] = rgb2ind(RGB,128);
imshow(X,map)
相关命令:cmunique, dither, imapprox, ind2rgb, rgb2gray
三.读写和显示图像:
1.imread
功能:
从图形文件中读取图像。
语法:
A = imread(filename,fmt)
[X,map] = imread(filename,fmt)
[...] = imread(filename)
[...] = imread(...,idx) (TIFF only)
[...] = imread(...,ref) (HDF only)
[...] = imread(...,’BackgroundColor’,BG) (PNG only)
[A,map,alpha] = imread(...) (PNG only)
举例
[X,map] = imread('flowers.tif',6);
info = imfinfo('skull.hdf');
[X,map] =
imread('skull.hdf',info(4).Reference);
bg = [255 0 0];
A =
imread('image.png','BackgroundColor',bg); [A,map,alpha] = imread('image.png');
相关命令:
imfinfo, imwrite,fread,double,uint8,uint16
2.imwrite
功能:
把图像写入图形文件中。
语法:
imwrite(A,filename,fmt)
imwrite(X,map,filename,fmt)
imwrite(...,filename)
imwrite(...,Param1,Val1,Param2,Val2...)
举例
imwrite(X,map,'flowers.hdf','Compression','no ne',...
'WriteMode','append')
相关命令:
imfinfo, imread
3. imfinfo