写点什么

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

作者:timerring
  • 2023-03-15
    山东
  • 本文字数:2392 字

    阅读完需:约 8 分钟

文章和代码以及样例图片等相关资源,已经归档至【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: 89Centroid: [95.6742 192.9775]BoundingBox: [87.5000 184.5000 16 15]MajorAxisLength: 19.9127MinorAxisLength: 14.2953Eccentricity: 0.6961Orientation: 9.0845 ConvexHull: [28x2 double]ConvexImage: [15x16 uint8 ] ConvexArea: 205Image: [15x16 uint8 ] FilledImage: [15x16 uint8 ] FilledArea: 122EulerNumber: 0 Extrema: [ 8x2 double] EquivDiameter: 10.6451Solidity: 0.4341Extent: 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: 346Height: 207BitDepth: 8 ColorType: 'indexed'FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubfileType: 0BitsPerSample: 8 Compression: 'PackBits'
PhotometricInterpretation: 'RGB Palette' StripOffsets: [ 9x1 double] SamplesPerPixel: 1RowsPerStrip: 23 StripByteCounts: [ 9x1 double] XResolution: 72YResolution: 72 ResolutionUnit: 'Inch' Colormap: [256x3 double] PlanarConfiguration: 'Chunky' TileWidth: []TileLength: [] TileOffsets: [] TileByteCounts: [] Orientation: 1FillOrder: 1GrayResponseUnit: 0.0100MaxSampleValue: 255MinSampleValue: 0Thresholding: 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 mrimov = 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 101253 240 0237 37 44
复制代码


相关命令:improfile, pixval

62.improfile

功能:沿线段计算剖面图的像素值。语法:


c = improfilec = 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.

发布于: 刚刚阅读数: 2
用户头像

timerring

关注

公众号【AIShareLab】 2022-07-14 加入

他日若遂凌云志

评论

发布
暂无评论
Matlab常用图像处理命令108例(五)_图像处理_timerring_InfoQ写作社区