Matlab常用图像处理命令108例(五)

简介: Matlab常用图像处理命令108例(五)
文章和代码以及样例图片等相关资源,已经归档至【Github仓库: digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。

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) 
[...] = 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]
ConvexImage: [15x16 uint8 ] 
ConvexArea: 205
Image: [15x16 uint8 ] 
FilledImage: [15x16 uint8 ] 
FilledArea: 122
EulerNumber: 0 
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' 
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)

相关命令:
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) 
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)
[...] = 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.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(MATLAB_version).pdf)

[3] [冈萨雷斯. 数字图像处理(第三版)[M]. 北京:电子工业出版社, 2011.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(Third_Edition).pdf)

目录
相关文章
|
4月前
|
计算机视觉
图像处理基础篇-形态学处理-边缘检测(matlab仿真与图像处理系列第4期)
图像处理基础篇-形态学处理-边缘检测(matlab仿真与图像处理系列第4期)
147 1
|
4月前
|
机器学习/深度学习 并行计算 算法
霍夫变换椭圆检测(matlab仿真与图像处理系列第2期)
霍夫变换椭圆检测(matlab仿真与图像处理系列第2期)
215 0
|
4月前
|
算法 计算机视觉
永磁同步电机的矢量控制PMSM仿真+simulink仿真建模(matlab仿真与图像处理)
永磁同步电机的矢量控制PMSM仿真+simulink仿真建模(matlab仿真与图像处理)
243 1
|
1月前
|
计算机视觉
【图像处理】基于灰度矩的亚像素边缘检测方法理论及MATLAB实现
基于灰度矩的亚像素边缘检测方法,包括理论基础和MATLAB实现,通过计算图像的灰度矩来精确定位边缘位置,并提供了详细的MATLAB代码和实验结果图。
46 6
|
1月前
|
计算机视觉
【图像处理】基于Zernike矩的亚像素边缘检测理论及MATLAB实现
基于Zernike矩的亚像素边缘检测理论,并提供了相应的MATLAB代码实现,包括定义7x7的Zernike模板、图像处理、边缘检测和连通域分析等步骤。
46 1
|
29天前
|
算法 计算机视觉
MATLAB - 模糊逻辑图像处理(Fuzzy Logic Image Processing)
MATLAB - 模糊逻辑图像处理(Fuzzy Logic Image Processing)
11 0
|
3月前
|
机器学习/深度学习 数据可视化 算法
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
30 0
|
4月前
|
机器学习/深度学习 算法 计算机视觉
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
90 2
|
4月前
|
编解码 并行计算 算法
如何在 MATLAB 中进行图像分割(matlab仿真与图像处理系列第7期)
如何在 MATLAB 中进行图像分割(matlab仿真与图像处理系列第7期)
148 1
|
12月前
|
机器学习/深度学习 传感器 算法
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)

热门文章

最新文章