相关命令:
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(64))
freqz2(h,[32 32]); axis ([-1 1 -1 1 0 1])
34.fsamp2
MATLAB高级应用——图形及影像处理 336 功能:用频率采样法设计二维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((r0.5)) = 0; colormap(jet(64)) 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
6
36.ftrans2
功能:通过频率转换设计二维FIR过滤器. 语法:
附录 MATLAB图像处理命令 337 h = ftrans2(b,t) h = ftrans2(b) 举例
colormap(jet(64))
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
相关命令:
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;
37.fwind1
40.gray2ind
功能:转换灰度图像为索引图像.
功能:用一维窗口方法设计二维FIR过滤器. 语法: 语法: [X,map] = gray2ind(I,n) h = fwind1(Hd,win) 相关命令: h = fwind1(Hd,win1,win2) ind2gray h = fwind1(f1,f2,Hd,...)
41.grayslice
举例
[f1,f2] = freqspace(21,'meshgrid'); 功能:从灰度图像创建索引图像. Hd = ones(21); 语法: r = sqrt(f1.^2 + f2.^2); X = grayslice(I,n) Hd((r0.5)) = 0; X = grayslice(I,v) colormap(jet(64)) 举例 mesh(f1,f2,Hd) I = imread('ngc4024m.tif'); 相关命令: X = grayslice(I,16); conv2, filter2, fsamp2, freqspace, imshow(I) ftrans2, fwind2 figure, imshow(X,jet(16))
附录 MATLAB图像处理命令 339
38.fwind2
相关命令:
功能:用二维窗口方法设计二维FIR过滤器. gray2ind 语法:
42.histeq
h = fwind2(Hd,win)
h = fwind2(f1,f2,Hd,win) 功能:用柱状图均等化增强对比. 举例 语法: [f1,f2] = freqspace(21,'meshgrid'); J = histeq(I,hgram) Hd = ones(21); J = histeq(I,n) r = sqrt(f1.^2 + f2.^2); [J,T] = histeq(I,...) Hd((r0.5)) = 0; 举例 colormap(jet(64)) I = imread('tire.tif'); mesh(f1,f2,Hd) J = histeq(I); MATLAB高级应用——图形及影像处理 338 imshow(I)
7
figure, imshow(J) imhist(I,64)
figure; imhist(J,64) 相关命令:
brighten, imadjust, imhist
43.hsv2rgb
功能: 转换HSV值为RGB颜色空间. 语法:
rgbmap = hsv2rgb(hsvmap) RGB = hsv2rgb(HSV) 相关命令:
MATLAB高级应用——图形及影像处理 340 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')
MATLAB高级应用——图形及影像处理 342 相关命令:
im2uint16, double, im2double, uint8, imapprox, uint16
51.im2uint16
功能:转换图像阵列为16位无符号整型. 语法:
I2 = im2uint16(I1)
RGB2 = im2uint16(RGB1)
X2 = im2uint16(X1,'indexed')
8
相关命令:
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图像处理命令 343
[Y,newmap] = imapprox(X,map,tol) Y = imapprox(X,map,newmap)
[...] = imapprox(...,dither_option) 相关命令:
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)
MATLAB高级应用——图形及影像处理 344 [...] = 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: 89
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图像处理命令 345 ConvexImage: [15x16 uint8 ] ConvexArea: 205
Image: [15x16 uint8 ]
FilledImage: [15x16 uint8 ] FilledArea: 122 EulerNumber: 0
9
Extrema: [ 8x2 double] EquivDiameter: 10.6451 Solidity: 0.4341 Extent: 0.3708
PixelList: [89x2 double] 相关命令: bwlabel
57.imfinfo
功能:返回图形文件信息. 语法:
info = imfinfo(filename,fmt) info = imfinfo(filename) 举例
info = imfinfo('canoe.tif') 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'
MATLAB高级应用——图形及影像处理 346 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
10