Matlab常用图像处理命令108例-matlab图像处理第31期(附完整代码)

# 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

参考文献

  1. Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.
  2. 阮秋琦. 数字图像处理(MATLAB版) [M]. 北京:电子工业出版社, 2014.
  3. 冈萨雷斯. 数字图像处理(第三版) [M]. 北京:电子工业出版社, 2011.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值