1.applylut
功能: 在二进制图像中利用lookup表进行边沿操作。 语法:
A = applylut(BW,lut)
举例
lut = makelut('sum(x(:)) == 4',2); BW1 = imread('text.tif'); BW2 = applylut(BW1,lut); imshow(BW1) figure, imshow(BW2)
相关命令: makelut 2.bestblk
功能: 确定进行块操作的块大小。 语法:
siz = bestblk([m n],k) [mb,nb] = bestblk([m n],k)
举例
siz = bestblk([0 800],72) siz =
50
相关命令:
blkproc 3.blkproc 功能:
320MATLAB高级应用——图形及影像处理
实现图像的显式块操作。 语法:
B = blkproc(A,[m n],fun) B = blkproc(A,[m n],fun,P1,P2,...)
B = blkproc(A,[m n],[mborder nborder],fun,...) B = blkproc(A,'indexed',...)
举例
I = imread('alumgrns.tif');
I2 = blkproc(I,[8 8],'std2(x)*ones(size(x))'); imshow(I)
figure, imshow(I2,[]);
相关命令: colfilt, nlfilter,inline 4.brighten
功能: 增加或降低颜色映像表的亮度。 语法:
brighten(beta)
newmap = brighten(beta) newmap = brighten(map,beta) brighten(fig,beta)
相关命令: imadjust, rgbplot 5.bwarea
功能: 计算二进制图像对象的面积。 语法:
total = bwarea(BW)
举例
BW = imread('circles.tif'); imshow(BW);
附录 MATLAB图像处理命令 321
bwarea(BW) ans =
15799
相关命令:
bweuler, bwperim 6.bweuler.
功能: 计算二进制图像的欧拉数。 语法:
eul = bweuler(BW,n)
举例
BW = imread('circles.tif'); imshow(BW); bweuler(BW) ans =
–2
相关命令:
bwmorph, bwperim 7.bwfill
功能:
填充二进制图像的背景色。 语法:
BW2 = bwfill(BW1,c,r,n) BW2 = bwfill(BW1,n) [BW2,idx] = bwfill(...) BW2 = bwfill(x,y,BW1,xi,yi,n) [x,y,BW2,idx,xi,yi] = bwfill(...) BW2 = bwfill(BW1,'holes',n) [BW2,idx] = bwfill(BW1,'holes',n)
举例
322
MATLAB高级应用——图形及影像处理
BW1 =[1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0]
BW2 = bwfill(BW1,3,3,8) BW2 =
1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 I = imread('blood1.tif'); BW3 = ~im2bw(I); BW4 = bwfill(BW3,'holes'); imshow(BW3) figure, imshow(BW4)
相关命令:
bwselect, roifill 8.bwlabel
功能: 标注二进制图像中已连接的部分。语法:
附录 MATLAB图像处理命令
L = bwlabel(BW,n) [L,num] = bwlabel(BW,n)
323
举例
BW = [1 1 1 0 0 0 0 0
1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0] L = bwlabel(BW,4) L =
1 1 1 0 0 0 0 0 1 1 1 0 2 2 0 0 1 1 1 0 2 2 0 0 1 1 1 0 0 0 3 0 1 1 1 0 0 0 3 0 1 1 1 0 0 0 3 0 1 1 1 0 0 3 3 0 1 1 1 0 0 0 0 0 [r,c] = find(L==2); rc = [r c] rc =
2 5 3 5 2 6 3 6
相关命令:
bweuler, bwselect 9.bwmorph
功能: 提取二进制图像的轮廓。 语法:
BW2 = bwmorph(BW1,operation) BW2 = bwmorph(BW1,operation,n)
举例
BW1 = imread('circles.tif');
324
imshow(BW1);
MATLAB高级应用——图形及影像处理
BW2 = bwmorph(BW1,'remove'); BW3 = bwmorph(BW1,'skel',Inf); imshow(BW2) figure, imshow(BW3)
相关命令:
bweuler, bwperim, dilate, erode 10.bwperim
功能: 计算二进制图像中对象的周长。 语法:
BW2 = bwperim(BW1,n)
举例
BW1 = imread('circbw.tif'); BW2 = bwperim(BW1,8); imshow(BW1) figure, imshow(BW2)
附录 MATLAB图像处理命令 325
相关命令: bwarea, bweuler, bwfill 11.bwselect
功能: 在二进制图像中选择对象。 语法:
BW2 = bwselect(BW1,c,r,n) BW2 = bwselect(BW1,n) [BW2,idx] = bwselect(...)
举例
BW1 = imread('text.tif'); c = [16 90 144]; r = [85 197 247];
BW2 = bwselect(BW1,c,r,4); imshow(BW1) figure, imshow(BW2)
相关命令:
bwfill, bwlabel, impixel, roipoly, roifill 12.cmpermute
326MATLAB高级应用——图形及影像处理
功能: 调整颜色映像表中的颜色。 语法:
[Y,newmap] = cmpermute(X,map) [Y,newmap] = cmpermute(X,map,index)
举例
To order a colormap by luminance, use:
ntsc = rgb2ntsc(map); [dum,index] = sort(ntsc(:,1));
[Y,newmap] = cmpermute(X,map,index);
相关命令:
randperm 13.cmunique
功能: 查找颜色映像表中特定的颜色及相应的图像。 语法:
[Y,newmap] = cmunique(X,map) [Y,newmap] = cmunique(RGB) [Y,newmap] = cmunique(I)
相关命令:
gray2ind, rgb2ind
14.col2im
功能: 将矩阵的列重新组织到块中。 语法:
A = col2im(B,[m n],[mm nn],block_type)
A = col2im(B,[m n],[mm nn])
相关命令:
blkproc, colfilt, im2col, nlfilter 15.colfilt
功能: 利用列相关函数进行边沿操作。 语法:
B = colfilt(A,[m n],block_type,fun) B = colfilt(A,[m n],block_type,fun,P1,P2,...)
B = colfilt(A,[m n],[mblock nblock],block_type,fun,...) B = colfilt(A,'indexed',...)
附录 MATLAB图像处理命令 327
相关命令:
blkproc, col2im, im2col, nlfilter 16.colorbar 功能: 显示颜色条。 语法:
colorbar('vert') colorbar('horiz') colorbar(h) colorbar h = colorbar(...)
举例
I = imread('blood1.tif'); h = fspecial('log'); I2 = filter2(h,I);
imshow(I2,[]), colormap(jet()), colorbar
17.conv2
功能: 进行二维卷积操作。 语法:
C = conv2(A,B) C = conv2(hcol,hrow,A) C = conv2(...,shape)
举例
A = magic(5) A =
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22
328
10 12 19 21 3 11 18 25 2 9 B = [1 2 1;0 2 0;3 1 3] B =
1 2 1 0 2 0 3 1 3 C = conv2(A,B) C =
MATLAB高级应用——图形及影像处理
17 58 66 34 32 38 15 23 85 88 35 67 76 16 55 149 117 163 159 135 67 79 78 160 161 187 129 51 23 82 153 199 205 108 75 30 68 135 168 91 84 9 33 65 126 85 104 15 27
相关命令: filter2 18.convmtx2
功能: 计算二维卷积矩阵。 语法:
T = convmtx2(H,m,n) T = convmtx2(H,[m n])
相关命令:
conv2 19.convn
功能: 计算n维卷积。 语法:
C = convn(A,B) C = convn(A,B,shape)
相关命令:
conv2 20.corr2
功能: 计算两个矩阵的二维相关系数。
附录 MATLAB图像处理命令 329
语法:
r = corr2(A,B)
相关命令:
std2 21.dct2
功能: 进行二维离散余弦变换。 语法:
B = dct2(A) B = dct2(A,m,n) B = dct2(A,[m n])
举例
RGB = imread('autumn.tif'); I = rgb2gray(RGB); J = dct2(I);
imshow(log(abs(J)),[]), colormap(jet()), colorbar
J(abs(J) < 10) = 0; K = idct2(J)/255; imshow(K)
相关命令:
fft2, idct2, ifft2 22.dctmtx 功能:
330MATLAB高级应用——图形及影像处理
计算离散余弦变换矩阵。 语法:
D = dctmtx(n)
相关命令:
dct2 23.dilate
功能: 放大二进制图像。 语法:
BW2 = dilate(BW1,SE) BW2 = dilate(BW1,SE,alg) BW2 = dilate(BW1,SE,...,n)
举例
BW1 = imread('text.tif'); SE = ones(6,2); BW2 = dilate(BW1,SE); imshow(BW1) figure, imshow(BW2)
相关命令: bwmorph, erode 24.dither
功能:
通过抖动增加外观颜色分辨率,转换图像。 语法:
X = dither(RGB,map) BW = dither(I)
相关命令:
rgb2ind 25.double
附录 MATLAB图像处理命令 331
功能: 转换数据为双精度型。 语法:
B = double(A)
举例
A = imread('saturn.tif'); B = sqrt(double(A));
相关命令:
im2double, im2uint, uint8
26.edge
功能: 识别强度图像中的边界。 语法:
BW = edge(I,'sobel') BW = edge(I,'sobel',thresh) BW = edge(I,'sobel',thresh,direction) [BW,thresh] = edge(I,'sobel',...)
BW = edge(I,'prewitt') BW = edge(I,'prewitt',thresh) BW = edge(I,'prewitt',thresh,direction) [BW,thresh] = edge(I,'prewitt',...)
BW = edge(I,'roberts') BW = edge(I,'roberts',thresh) [BW,thresh] = edge(I,'roberts',...)
BW = edge(I,'log') BW = edge(I,'log',thresh) BW = edge(I,'log',thresh,sigma) [BW,threshold] = edge(I,'log',...)
BW = edge(I,'zerocross',thresh,h) [BW,thresh] = edge(I,'zerocross',...)
BW = edge(I,'canny') BW = edge(I,'canny',thresh) BW = edge(I,'canny',thresh,sigma)
332MATLAB高级应用——图形及影像处理
[BW,threshold] = edge(I,'canny',...)
举例
I = imread('rice.tif'); BW1 = edge(I,'prewitt'); BW2 = edge(I,'canny'); imshow(BW1); figure, imshow(BW2)
27.erode
功能: 弱化二进制图像的边界。 语法:
BW2 = erode(BW1,SE) BW2 = erode(BW1,SE,alg) BW2 = erode(BW1,SE,...,n)
举例
BW1 = imread('text.tif'); SE = ones(3,1); BW2 = erode(BW1,SE); imshow(BW1) figure, imshow(BW2)
相关命令:
bwmorph, dilate
附录 MATLAB图像处理命令 333
28.fft2
功能: 进行二维快速傅里叶变换。 语法:
B = fft2(A) B = fft2(A,m,n)
举例
load imdemos saturn2 imshow(saturn2)
B = fftshift(fft2(saturn2));
imshow(log(abs(B)),[]), colormap(jet()), colorbar
相关命令:
dct2, fftshift, idct2, ifft2 29.fftn
功能: 进行n维快速傅里叶变换。 语法:
B = fftn(A) B = fftn(A,siz)
相关命令:
fft2, ifftn 30.fftshift
334
MATLAB高级应用——图形及影像处理
功能:
把快速傅里叶变换的DC组件移到光谱中心。 语法:
B = fftshift(A)
举例
B = fftn(A); C = fftshift(B);
相关命令:
fft2, fftn, ifftshift 31.filter2
功能: 进行二维线性过滤操作。 语法:
B = filter2(h,A) B = filter2(h,A,shape)
举例
A = magic(6) A =
35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11 h = fspecial('sobel') h =
1 2 1 0 0 0 –1 –2 –1 B = filter2(h,A,'valid') B =
–8 4 4 –8 –23 –44 –5 40 –23 –50 1 40 –8 4 4 –8
相关命令:
conv2, roifilt2 32.freqspace
附录 MATLAB图像处理命令 335
功能:
确定二维频率响应的频率空间。 语法:
[f1,f2] = freqspace(n) [f1,f2] = freqspace([m n]) [x1,y1] = freqspace(...,'meshgrid') f = freqspace(N) f = freqspace(N,'whole')
相关命令:
fsamp2, fwind1, fwind2 33.freqz2
功能:
计算二维频率响应。 语法:
[H,f1,f2] = freqz2(h,n1,n2) [H,f1,f2] = freqz2(h,[n2 n1]) [H,f1,f2] = freqz2(h,f1,f2) [H,f1,f2] = freqz2(h) [...] = freqz2(h,...,[dx dy]) [...] = freqz2(h,...,dx) freqz2(...)
举例
Hd = zeros(16,16); Hd(5:12,5:12) = 1; Hd(7:10,7:10) = 0; h = fwind1(Hd,bartlett(16)); colormap(jet())
freqz2(h,[32 32]); axis ([–1 1 –1 1 0 1])
34.fsamp2
336MATLAB高级应用——图形及影像处理
功能:
用频率采样法设计二维FIR过滤器。 语法:
h = fsamp2(Hd)
h = fsamp2(f1,f2,Hd,[m n])
举例
[f1,f2] = freqspace(21,'meshgrid'); Hd = ones(21); r = sqrt(f1.^2 + f2.^2); Hd((r<0.1)|(r>0.5)) = 0; colormap(jet()) mesh(f1,f2,Hd)
相关命令:
conv2, filter2, freqspace, ftrans2, fwind1, fwind2 35.fspecial
功能: 创建预定义过滤器。 语法:
h = fspecial(type)
h = fspecial(type,parameters)
举例
I = imread('saturn.tif'); h = fspecial('unsharp',0.5); I2 = filter2(h,I)/255; imshow(I) figure, imshow(I2)
相关命令:
conv2, edge, filter2, fsamp2, fwind1, fwind2 36.ftrans2
功能:
通过频率转换设计二维FIR过滤器。 语法:
附录 MATLAB图像处理命令
h = ftrans2(b,t) h = ftrans2(b)
337
举例
colormap(jet())
b = remez(10,[0 0.05 0.15 0.55 0.65 1],[0 0 1 1 0 0]); [H,w] = freqz(b,1,128,'whole'); plot(w/pi–1,fftshift(abs(H)))
相关命令:
conv2, filter2, fsamp2, fwind1, fwind2 37.fwind1
功能:
用一维窗口方法设计二维FIR过滤器。 语法:
h = fwind1(Hd,win) h = fwind1(Hd,win1,win2) h = fwind1(f1,f2,Hd,...)
举例
[f1,f2] = freqspace(21,'meshgrid'); Hd = ones(21); r = sqrt(f1.^2 + f2.^2); Hd((r<0.1)|(r>0.5)) = 0; colormap(jet()) mesh(f1,f2,Hd)
相关命令:
conv2, filter2, fsamp2, freqspace, ftrans2, fwind2 38.fwind2
功能:
用二维窗口方法设计二维FIR过滤器。 语法:
h = fwind2(Hd,win) h = fwind2(f1,f2,Hd,win)
举例
[f1,f2] = freqspace(21,'meshgrid'); Hd = ones(21); r = sqrt(f1.^2 + f2.^2); Hd((r<0.1)|(r>0.5)) = 0; colormap(jet()) mesh(f1,f2,Hd)
338MATLAB高级应用——图形及影像处理
相关命令:
conv2, filter2, fsamp2, freqspace, ftrans2, fwind1 39.getimage
功能: 从坐标轴取得图像数据。 语法:
A = getimage(h) [x,y,A] = getimage(h) [...,A,flag] = getimage(h) [...] = getimage
举例
imshow rice.tif I = getimage;
40.gray2ind
功能: 转换灰度图像为索引图像。 语法:
[X,map] = gray2ind(I,n)
相关命令:
ind2gray 41.grayslice
功能:
从灰度图像创建索引图像。 语法:
X = grayslice(I,n) X = grayslice(I,v)
举例
I = imread('ngc4024m.tif'); X = grayslice(I,16); imshow(I)
figure, imshow(X,jet(16))
附录 MATLAB图像处理命令 339
相关命令:
gray2ind 42.histeq
功能:
用柱状图均等化增强对比。 语法:
J = histeq(I,hgram) J = histeq(I,n) [J,T] = histeq(I,...)
举例
I = imread('tire.tif'); J = histeq(I); imshow(I) figure, imshow(J)
imhist(I,) figure; imhist(J,)
相关命令:
brighten, imadjust, imhist 43.hsv2rgb
功能:
转换HSV值为RGB颜色空间。 语法:
rgbmap = hsv2rgb(hsvmap) RGB = hsv2rgb(HSV)
相关命令:
340MATLAB高级应用——图形及影像处理
rgb2hsv, rgbplot
44.idct2
功能:
计算二维离散反余弦变换。 语法:
B = idct2(A) B = idct2(A,m,n) B = idct2(A,[m n])
相关命令:
dct2, dctmtx, fft2, ifft2 45.ifft2
功能:
计算二维快速傅里叶反变换。 语法:
B = ifft2(A) B = ifft2(A,m,n)
相关命令: fft2, fftshift, idct2 46.ifftn
功能:
计算n维快速傅里叶反变换。 语法:
B = ifftn(A) B = ifftn(A,siz)
相关命令:
fft2, fftn, ifft2
47.sim2bw
功能:
转换图像为二进制图像。 语法:
BW = im2bw(I,level) BW = im2bw(X,map,level) BW = im2bw(RGB,level)
举例
load trees
BW = im2bw(X,map,0.4); imshow(X,map)
附录 MATLAB图像处理命令
341
figure, imshow(BW)
相关命令: ind2gray, rgb2gray 48.im2col
功能:
重调图像块为列。 语法:
B = im2col(A,[m n],block_type) B = im2col(A,[m n]) B = im2col(A,'indexed',...)
相关命令:
blkproc, col2im, colfilt, nlfilter 49.im2double
功能:
转换图像矩阵为双精度型。 语法:
I2 = im2double(I1) RGB2 = im2double(RGB1) BW2 = im2double(BW1) X2 = im2double(X1,'indexed')
相关命令:
double, im2uint8, uint8 50.im2uint8
功能: 转换图像阵列为8位无符号整型。 语法:
I2 = im2uint8(I1) RGB2 = im2uint8(RGB1) BW2 = im2uint8(BW1) X2 = im2uint8(X1,'indexed')
342MATLAB高级应用——图形及影像处理
相关命令:
im2uint16, double, im2double, uint8, imapprox, uint16 51.im2uint16
功能: 转换图像阵列为16位无符号整型。 语法:
I2 = im2uint16(I1) RGB2 = im2uint16(RGB1) X2 = im2uint16(X1,'indexed')
相关命令:
im2uint8, double, im2double, uint8, uint16, imapprox 52.imadjust
功能: 调整图像灰度值或颜色映像表。 语法:
J = imadjust(I,[low high],[bottom top],gamma)
newmap = imadjust(map,[low high],[bottom top],gamma) RGB2 = imadjust(RGB1,...)
举例
I = imread('pout.tif'); J = imadjust(I,[0.3 0.7],[]); imshow(I) figure, imshow(J)
相关命令:
brighten, histeq 53.imapprox
功能:
对索引图像进行近似处理。 语法:
[Y,newmap] = imapprox(X,map,n)
附录 MATLAB图像处理命令
[Y,newmap] = imapprox(X,map,tol) Y = imapprox(X,map,newmap) [...] = imapprox(...,dither_option)
343
相关命令:
cmunique, dither, rgb2ind 54.imcontour
功能: 创建图像数据的轮廓图。 语法:
imcontour(I,n) imcontour(I,v) imcontour(x,y,...) imcontour(...,LineSpec) [C,h] = imcontour(...)
举例
I = imread('ic.tif'); imcontour(I,3)
相关命令: clabel, contour, LineSpec 55.imcrop 功能:
剪切图像。 语法:
I2 = imcrop(I) X2 = imcrop(X,map) RGB2 = imcrop(RGB)
I2 = imcrop(I,rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect)
344
MATLAB高级应用——图形及影像处理
[...] = imcrop(x,y,...) [A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
举例
I = imread('ic.tif');
I2 = imcrop(I,[60 40 100 90]); imshow(I) figure, imshow(I2)
相关命令:
zoom 56.imfeature
功能: 计算图像区域的特征尺寸。 语法:
stats = imfeature(L,measurements) stats = imfeature(L,measurements,n)
举例
BW = imread('text.tif'); L = bwlabel(BW); stats = imfeature(L,'all'); stats(23) ans =
Area:
Centroid: [95.6742 192.9775]
BoundingBox: [87.5000 184.5000 16 15] MajorAxisLength: 19.9127 MinorAxisLength: 14.2953 Eccentricity: 0.6961 Orientation: 9.0845 ConvexHull: [28x2 double]
附录 MATLAB图像处理命令
ConvexImage: [15x16 uint8 ] ConvexArea: 205 Image: [15x16 uint8 ] FilledImage: [15x16 uint8 ] FilledArea: 122 EulerNumber: 0 Extrema: [ 8x2 double] EquivDiameter: 10.51 Solidity: 0.4341 Extent: 0.3708 PixelList: [x2 double]
345
相关命令: bwlabel 57.imfinfo
功能: 返回图形文件信息。 语法:
info = imfinfo(filename,fmt) info = imfinfo(filename)
举例
info =
Filename:'canoe.tif'
FileModDate: '25-Oct-1996 22:10:39' FileSize: 69708 Format: 'tif' FormatVersion: [] Width: 346 Height: 207 BitDepth: 8 ColorType: 'indexed' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubfileType: 0 BitsPerSample: 8 Compression: 'PackBits'
PhotometricInterpretation: 'RGB Palette' info = imfinfo('canoe.tif')
346MATLAB高级应用——图形及影像处理
StripOffsets: [ 9x1 double] SamplesPerPixel: 1 RowsPerStrip: 23
StripByteCounts: [ 9x1 double] XResolution: 72 YResolution: 72 ResolutionUnit: 'Inch' Colormap: [256x3 double] PlanarConfiguration: 'Chunky' TileWidth: [] TileLength: [] TileOffsets: [] TileByteCounts: [] Orientation: 1 FillOrder: 1
GrayResponseUnit: 0.0100 MaxSampleValue: 255 MinSampleValue: 0 Thresholding: 1
相关命令:
imread, imwrite 58.imhist
功能: 显示图像数据的柱状图。 语法:
imhist(I,n) imhist(X,map) [counts,x] = imhist(...)
举例
I = imread('pout.tif'); imhist(I)
附录 MATLAB图像处理命令 347
相关命令:
histeq 59.immovie
功能:
创建多帧索引图的电影动画。 语法:
mov = immovie(X,map)
举例
load mri
mov = immovie(D,map);
相关命令:
montage 60.imnoise
功能:
增加图像的渲染效果。 语法:
J = imnoise(I,type)
J = imnoise(I,type,parameters)
举例
I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02); imshow(I) figure, imshow(J)
相关命令:
rand 61.impixel
功能: 确定像素颜色值。 语法:
348
P = impixel(I) P = impixel(X,map) P = impixel(RGB) P = impixel(I,c,r) P = impixel(X,map,c,r) P = impixel(RGB,c,r) [c,r,P] = impixel(...) P = impixel(x,y,I,xi,yi)
MATLAB高级应用——图形及影像处理
P = impixel(x,y,X,map,xi,yi) P = impixel(x,y,RGB,xi,yi) [xi,yi,P] = impixel(x,y,...)
举例
RGB = imread('flowers.tif'); c = [12 146 410]; r = [104 156 129]; pixels = impixel(RGB,c,r) pixels =
61 59 101 253 240 0 237 37 44
相关命令: improfile, pixval 62.improfile
功能:
沿线段计算剖面图的像素值。 语法: c = improfile
c = improfile(n)
c = improfile(I,xi,yi) c = improfile(I,xi,yi,n)
[cx,cy,c] = improfile(...) [cx,cy,c,xi,yi] = improfile(...)
[...] = improfile(x,y,I,xi,yi) [...] = improfile(x,y,I,xi,yi,n)
附录 MATLAB图像处理命令
[...] = improfile(...,method)
349
举例
I = imread('alumgrns.tif'); x = [35 338 346 103]; y = [253 250 17 148]; improfile(I,x,y), grid on
相关命令:
impixel, pixval 63.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)
举例
info = imfinfo('skull.hdf');
[X,map] = imread('skull.hdf',info(4).Reference);
bg = [255 0 0];
A = imread('image.png','BackgroundColor',bg);
[X,map] = imread('flowers.tif',6);
350MATLAB高级应用——图形及影像处理
[A,map,alpha] = imread('image.png');
相关命令: imfinfo, imwrite,fread,double,uint8,uint16 64.imresize 功能: 改变图像大小。 语法:
B = imresize(A,m,method)
B = imresize(A,[mrows ncols],method)
B = imresize(...,method,n) B = imresize(...,method,h)
65.imrotate 功能: 旋转图像。 语法:
B = imrotate(A,angle,method) B = imrotate(A,angle,method,'crop')
举例
I = imread('ic.tif');
J = imrotate(I,–4,'bilinear','crop'); imshow(I) figure, imshow(J)
相关命令:
imcrop, imresize 66.imshow 功能: 显示图像。 语法:
附录 MATLAB图像处理命令
imshow(I,n) imshow(I,[low high]) imshow(BW) imshow(X,map) imshow(RGB)
imshow(...,display_option)
imshow(x,y,A,...) imshow filename h = imshow(...)
351
相关命令:
getimage, imread, iptgetpref, iptsetpref, subimage, truesize, warp 67.imwrite
功能: 把图像写入图形文件中。 语法:
imwrite(A,filename,fmt) imwrite(X,map,filename,fmt) imwrite(...,filename)
imwrite(...,Param1,Val1,Param2,Val2...)
举例
imwrite(X,map,'flowers.hdf','Compression','none',... 'WriteMode','append')
相关命令:
imfinfo, imread 68.ind2gray
功能: 把检索图像转化为灰度图像。 语法:
I = ind2gray(X,map)
举例
load trees
I = ind2gray(X,map); imshow(X,map) figure,imshow(I)
352MATLAB高级应用——图形及影像处理
相关命令:
gray2ind, imshow, rgb2ntsc 69.ind2rgb
功能: 转化索引图像为RGB真彩图像。语法:
RGB = ind2rgb(X,map)
相关命令:
ind2gray, rgb2ind
70.iptgetpref
功能: 获取图像处理工具箱参数设置。 语法:
value = iptgetpref(prefname)
举例
value = iptgetpref('ImshowAxesVisible') value =
off
相关命令:
imshow, iptsetpref 71.iptsetpref
功能: 设置图像处理工具箱参数。 语法:
iptsetpref(prefname,value)
举例
iptsetpref('ImshowBorder','tight')
相关命令:
imshow, iptgetpref, truesize 72.iradon
附录 MATLAB图像处理命令 353
功能:
进行反Radon变换。 语法:
I = iradon(P,theta)
I = iradon(P,theta,interp,filter,d,n) [I,h] = iradon(...)
举例
P = phantom(128); R = radon(P,0:179);
I = iradon(R,0:179,'nearest','Hann'); imshow(P) figure, imshow(I)
相关命令: radon, phantom 73.isbw
功能: 判断是否为二进制图像。 语法:
flag = isbw(A)
相关命令:
isind, isgray, isrgb 74.isgray
功能: 判断是否为灰度图像。 语法:
flag = isgray(A)
相关命令:
isbw, isind, isrgb 75.isind
3MATLAB高级应用——图形及影像处理
功能: 判断是否为索引图像。 语法:
flag = isind(A)
相关命令:
isbw, isgray, isrgb 76.isrgb
功能: 判读是否为RGB真彩图像。 语法:
flag = isrgb(A)
相关命令: isbw, isgray, isind 77.makelut
功能:
创建一个用于applylut函数的lookup表。 语法:
lut = makelut(fun,n) lut = makelut(fun,n,P1,P2,...)
举例
f = inline('sum(x(:)) >= 2'); lut = makelut(f,2) lut =
0 0 0 1 0 1 1 1 0 1 1 1 1 1
附录 MATLAB图像处理命令
355
1 1
相关命令:
applylut 78.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 79.mean2
功能: 计算矩阵元素的平均值。 语法:
b = mean2(A)
相关命令:
std2, mean, std 80.medfilt2
功能: 进行二维中值过滤。 语法:
356
MATLAB高级应用——图形及影像处理
B = medfilt2(A,[m n]) B = medfilt2(A)
B = medfilt2(A,'indexed',...)
举例
I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02); K = medfilt2(J); imshow(J) figure, imshow(K)
相关命令:
filter2, ordfilt2, wiener2 81.montage
功能: 在矩形框中同时显示多幅图像。 语法:
montage(I) montage(BW) montage(X,map) montage(RGB) h = montage(...)
举例
load mri montage(D,map)
附录 MATLAB图像处理命令 357
相关命令: immovie 82.nlfilter 功能: 进行边沿操作。 语法:
B = nlfilter(A,[m n],fun) B = nlfilter(A,[m n],fun,P1,P2,...) B = nlfilter(A,'indexed',...)
举例
B = nlfilter(A,[3 3],'median(x(:))');
相关命令:
blkproc, colfilt 83.ntsc2rgb
功能: 转换NTSC的值为RGB颜色空间。 语法:
rgbmap = ntsc2rgb(yiqmap) RGB = ntsc2rgb(YIQ)
相关命令:
rgb2ntsc, rgb2ind, ind2rgb, ind2gray 84.ordfilt2
功能: 进行二维统计顺序过滤。 语法:
B = ordfilt2(A,order,domain) B = ordfilt2(A,order,domain,S)
358
B = ordfilt2(...,padopt)
MATLAB高级应用——图形及影像处理
相关命令: medfilt2 85.phantom
功能: 产生一个头部幻影图像。 语法:
P = phantom(def,n) P = phantom(E,n) [P,E] = phantom(...)
举例
P = phantom('Modified Shepp-Logan',200); imshow(P)
相关命令: radon, iradon 86.pixval
功能: 显示图像像素信息。 语法:
pixval on pixval off pixval
pixval(fig,option)
相关命令: impixel, improfile 87.qtdecomp 功能: 进行四叉树分解。
附录 MATLAB图像处理命令 359
语法:
S = qtdecomp(I) S = qtdecomp(I,threshold) S = qtdecomp(I,threshold,mindim) S = qtdecomp(I,threshold,[mindim maxdim])
S = qtdecomp(I,fun) S = qtdecomp(I,fun,P1,P2,...)
举例
I = [1 1 1 1 2 3 6 6
1 1 2 1 4 5 6 8 1 1 1 1 10 15 7 7 1 1 1 1 20 25 7 7 20 22 20 22 1 2 3 4 20 22 22 20 5 6 7 8 20 22 20 20 9 10 11 12 22 22 20 20 13 14 15 16];
S = qtdecomp(I,5); full(S) ans =
4 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 0 0 0 0 1 1 0 0 4 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0
相关命令: qtgetblk, qtsetblk 88.qtgetblk
功能: 获取四叉树分解中的块值。 语法:
[vals,r,c] = qtgetblk(I,S,dim)
360MATLAB高级应用——图形及影像处理
[vals,idx] = qtgetblk(I,S,dim)
举例
vals(:,:,1) =
1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 vals(:,:,2) =
20 22 20 22 20 22 22 20 20 22 20 20 22 22 20 20 r =
1 5 c =
1 1
[vals,r,c] = qtgetblk(I,S,4)
相关命令:
qtdecomp, qtsetblk 89.qtsetblk
功能: 设置四叉树分解中的块值。 语法:
J = qtsetblk(I,S,dim,vals)
举例
newvals = cat(3,zeros(4),ones(4)); J = qtsetblk(I,S,4,newvals) J =
0 0 0 0 2 3 6 6 0 0 0 0 4 5 6 8 0 0 0 0 10 15 7 7
附录 MATLAB图像处理命令
0 0 0 0 20 25 7 7 1 1 1 1 1 2 3 4 1 1 1 1 5 6 7 8 1 1 1 1 9 10 11 12 1 1 1 1 13 14 15 16
361
相关命令:
qtdecomp, qtgetblk 90.radon
功能: 计算Radon变换。 语法:
R = radon(I,theta) R = radon(I,theta,n) [R,xp] = radon(...)
举例
iptsetpref('ImshowAxesVisible','on') I = zeros(100,100); I(25:75,25:75) = 1; theta = 0:180; [R,xp] = radon(I,theta);
imshow(theta,xp,R,[]), colormap(hot), colorbar
相关命令:
iradon, phantom 91.rgb2gray
功能: 转换RGB图像或颜色映像表为灰度图像。 语法:
I = rgb2gray(RGB) newmap = rgb2gray(map)
相关命令:
362MATLAB高级应用——图形及影像处理
ind2gray, ntsc2rgb, rgb2ind, rgb2ntsc
92.rgb2hsv
功能: 转化RGB值为HSV颜色空间。 语法:
hsvmap = rgb2hsv(rgbmap) HSV = rgb2hsv(RGB)
相关命令:
hsv2rgb, rgbplot
93.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 94.rgb2ntsc
功能: 转化RGB的值为NTSC颜色空间。 语法:
yiqmap = rgb2ntsc(rgbmap) YIQ = rgb2ntsc(RGB)
附录 MATLAB图像处理命令 363
相关命令:
ntsc2rgb, rgb2ind, ind2rgb, ind2gray 95.rgb2ycbcr
功能: 转化RGB的值为YcbCr颜色空间。 语法:
ycbcrmap = rgb2ycbcr(rgbmap) YCBCR = rgb2ycbcr(RGB)
相关命令:
ntsc2rgb, rgb2ntsc, ycbcr2rgb 96.rgbplot
功能: 划分颜色映像表。 语法:
rgbplot(map)
举例
rgbplot(jet)
相关命令: colormap 97.roicolor
功能: 选择感兴趣的颜色区。 语法:
BW = roicolor(A,low,high) BW = roicolor(A,v)
举例
I = imread('rice.tif'); BW = roicolor(I,128,255); imshow(I);
3
MATLAB高级应用——图形及影像处理
figure, imshow(BW)
相关命令:
roifilt2, roipoly 98.roifill
功能: 在图像的任意区域中进行平滑插补。语法:
J = roifill(I,c,r) J = roifill(I)
J = roifill(I,BW) [J,BW] = roifill(...)
J = roifill(x,y,I,xi,yi) [x,y,J,BW,xi,yi] = roifill(...)
举例
I = imread('eight.tif');
c = [222 272 300 270 221 194]; r = [21 21 75 121 121 75]; J = roifill(I,c,r); imshow(I) figure, imshow(J)
附录 MATLAB图像处理命令 365
相关命令:
roifilt2, roipoly 99.roifilt2 功能: 过滤敏感区域。 语法:
J = roifilt2(h,I,BW) J = roifilt2(I,BW,fun) J = roifilt2(I,BW,fun,P1,P2,...)
举例
h = fspecial('unsharp'); J = roifilt2(h,I,BW); imshow(J)
相关命令:
filter2, roipoly 100.roipoly
功能: 选择一个敏感的多边形区域。 语法:
BW = roipoly(I,c,r) BW = roipoly(I) BW = roipoly(x,y,I,xi,yi) [BW,xi,yi] = roipoly(...) [x,y,BW,xi,yi] = roipoly(...)
举例
I = imread('eight.tif');
c = [222 272 300 270 221 194]; r = [21 21 75 121 121 75]; BW = roipoly(I,c,r); imshow(I)
366
MATLAB高级应用——图形及影像处理
figure, imshow(BW)
相关命令:
roifilt2, roicolor, roifill 101.std2
功能: 计算矩阵元素的标准偏移。 语法:
b = std2(A)
相关命令:
corr2, mean2 102.subimage
功能: 在一幅图中显示多个图像。 语法:
subimage(X,map) subimage(I) subimage(BW) subimage(RGB) subimage(x,y,...) h = subimage(...)
举例
load trees
[X2,map2] = imread('forest.tif'); subplot(1,2,1), subimage(X,map) subplot(1,2,2), subimage(X2,map2)
相关命令:
附录 MATLAB图像处理命令 367
103.truesize
功能: 调整图像显示尺寸。 语法:
truesize(fig,[mrows mcols]) truesize(fig)
相关命令:
imshow, iptsetpref, iptgetpref 104.uint8
功能: 转换数据为8位无符号整型。 语法:
B = uint8(A) 举例
a = [1 3 5]; b = uint8(a); whos
Name Size Bytes Class a 1x3 24 doublearray b 1x3 3 uint8 array
相关命令: double, im2double, im2uint8 105.uint16
功能: 转换数据为16位无符号整型。 语法:
I = uint16(X)
368MATLAB高级应用——图形及影像处理
举例
a = [1 3 5]; b = uint16(a); whos
Name Size Bytes Class a 1x3 24 double array b 1x3 6 uint16 array
相关命令:
double, datatypes, uint8, uint32, int8, int16, int32. 106.warp
功能: 将图像显示到纹理映射表面。 语法:
warp(X,map) warp(I,n) warp(BW) warp(RGB) warp(z,...) warp(x,y,z,...) h = warp(...)
举例
[x,y,z] = cylinder; I = imread('testpat1.tif'); warp(x,y,z,I);
相关命令:
imshow
附录 MATLAB图像处理命令 369
107.wiener2
功能: 进行二维适应性去噪过滤处理。 语法:
J = wiener2(I,[m n],noise) [J,noise] = wiener2(I,[m n])
举例
I = imread('saturn.tif'); J = imnoise(I,'gaussian',0,0.005); K = wiener2(J,[5 5]); imshow(J) figure, imshow(K)
相关命令:
filter2, medfilt2 108.ycbcr2rgb
功能: 转化YcbCr值为RGB颜色空间。 语法:
rgbmap = ycbcr2rgb(ycbcrmap) RGB = ycbcr2rgb(YCBCR)
相关命令:
ntsc2rgb, rgb2ntsc, rgb2ycbcr 109.zoom
功能:
缩放图像。 语法:
zoom on zoom off zoom out
370
zoom reset zoom zoom xon zoom yon zoom(factor) zoom(fig,option)
MATLAB高级应用——图形及影像处理
相关命令: imcrop
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.com 版权所有 蜀ICP备2023022190号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务