文章目录
# Matlab常用图像处理命令108例(五)
@[toc]
## 54. imcontour
**功能**:创建图像数据的轮廓图。
**语法**:
```matlab
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)
[...] = 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)
相关命令:bwlabel
57. imfinfo
功能:返回图形文件信息。
语法:
info = imfinfo(filename, fmt)
info = imfinfo(filename)
举例:
info = imfinfo('canoe.tif')
相关命令:imread, imwrite
58. imhist
功能:显示图像数据的柱状图。
语法:
imhist(I, n)
imhist(X, map)
[counts, x] = imhist(...)
举例:
I = imread('pout.tif');
imhist(I)
相关命令: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
功能:确定像素颜色值。
语法:
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)
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)
相关命令: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)
[...] = improfile(..., method)
举例:
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)
举例:
[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
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
参考文献
- Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.
- 阮秋琦. 数字图像处理(MATLAB版) [M]. 北京:电子工业出版社, 2014.
- 冈萨雷斯. 数字图像处理(第三版) [M]. 北京:电子工业出版社, 2011.

被折叠的 条评论
为什么被折叠?



