没有合适的资源?快使用搜索试试~ 我知道了~
数字图像处理及MATLAB实现.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 112 浏览量
2022-06-10
21:22:58
上传
评论 1
收藏 1.02MB PDF 举报
温馨提示
试读
18页
数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf数字图像处理及MATLAB实现.pdf
资源推荐
资源详情
资源评论
MATLAB 数字图像处理
1 概述
BW=dither(I)灰度转成二值图;
X=dither(RGB,map)RGB 转成灰度图,用户需要提供一个 Colormap;
[X,map]=gray2ind(I,n)灰度到索引;
[X,map]=gray2ind(BW,n)二值图到索引,map 可由 gray(n)产生。灰度图 n 默认 64,二
值图默认 2;
X=graylice(I,n)灰度图到索引图,门限 1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定
门限向量 v;
BW=im2bw(I,level)灰度图 I 到二值图;
BW=im2bw(X,map,level)索引图 X 到二值图;level 是阈值门限,超过像素为 1,其余置
0,level 在[0,1]之间。
BW=im2bw(RGB,level)RGB 到二值图;
I=ind2gray(X,map)索引图到灰度图;
RGB=ind2rgb(X,map)索引图到 RGB;
I=rgb2gray(RGB)RGB 到灰度图。
2 图像运算
2.1 图像的读写
MATLAB 支持的图像格式有 bmp,gif,ico,jpg,png,cur,pcx,xwd 和 tif。
读取(imread):
[1] A=imread(filename,fmt)
[2] [X,map]=imread(filename,fmt)
[3] […]=imread(filename)
[4] […]=imread(URL,…)
说明:filename 是图像文件名,如果不在搜索路径下应是图像的全路径,fmt 是图像文
件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是 RGB);第二个读入索引图,map
为索引图对应的 Colormap,即其相关联的颜色映射表,若不是索引图则 map 为空。URL 表示
引自 Internet URL 中的图像。
写入(imwrite):
[1] R=imwrite(A,filename,fmt);
[2] R=imwrite(X,map,filename,fmt);
[3] R=imwrite(…,filename);
[4] R=imwrite(…,Param1,Val1,Param2,Val2)
说明:针对第四个,该语句用于指定 HDF,JPEG,PBM,PGM,PNG,PPM,TIFF 等类型输出
文 件 的 不 同 参 数 。 例 如 HDF 的 Quality,Compression,WriteMode;JPEG 的 BitDepth ,
Comment:Empty or not,Mode:lossy or lossless,Quality 等。
2.2 图像的显示
方法 1:使用 Image Viewer(图像浏览器),即运用 imview 函数。
同时显示多帧图像的所有帧,可用到 montage 函数。
-
改变显示大小:imview(X,map,’IntialMagnificatition’,’fit’), IntialMagnificatition 默认值
为 100,即 100%显示,设置为 fit 则全屏显示。
关闭:imview close all。
Image Viewer 还提供了三个工具:全景查看窗口(导航功能)、像素区域工具、图像信息
窗口。
方法 2:使用图形图像视窗,即运用 imshow 函数。
调用 truesize 函数来设定图像到屏幕像点的映射关系。
可以运用 getimage 函数来将当前显示的图像赋值给一个变量。
调用格式:
[1] imshow(I,n);\\n 为灰度级
[2] imshow(I,[low,high]);\\指定 I 的数据范围
[3] imshow(BW);\\显示二值图像 BW,0 为黑色,1 为白色
[4] imshow(X,map);\\索引图像
[5] imshow(RGB);
[6] imshow(…,display_option);\\显示图像的方式,选择‘notruesize’或者‘turesize’
[7] imshow(x,y,A,…);\\x,y 建立非默认的空间坐标系统
[8] imshow filename;
[9] h=imshow(…)\\h 表示被显示图像的句柄
2.3 图像的代数运算
[1] 相加(imadd):
Z=imadd(X,Y)\\存为 8 位;
Z=imadd(X,Y,’uint 16’)\\存为 16 位。
[2] 求补(imcomplement):
IM2=imcomplement(IM1)。
[3] 减法(imsubtract 或者 imabsdiff):
Z=imsubtract(X,Y)\\差值结果小于 0 的赋值为 0;
Z=imabsdiff(X,Y)\\ 差值结果取绝对值。
[4] 乘法(immultiply):
Z=immultiply(X,Y)。
[5] 除法(imdivide):
Z=imdivide(X,Y)。
2.4 点运算
灰度变换函数 GST:
B(x,y)=f[A(x,y)]
。其中有:
[1]线性点运算
B f ( A)
A
;
[2]非线性点运算;
[3]直方图修正。
2.5 图像的集合运算
改变大小 imresize:Y=imresize(X,M,method),其中M 为放大的倍数,method 有如下几
种插值方式 nearest,bilinear,bicubic。也可以规定输出图像大小,[heng,zong]。
欢迎下载
- 2 -
-
图像旋转 imrotate:Y=imrotate(X,angle,method,’crop’),angle 表示逆时针旋转,method
同 imresize 的用法,crop 表示将旋转以后的图像取与原图像大小相同的中心部分取出。
比例缩放 imresize:同改变大小。
空 间 变 换 imtransform : B=imtransform(A,TFORM,param1,val1,param2,val2), 其 中
TFORM 为 makeform 或者 cp2tform 产生的结果。如 TFORM=makeform(transformtype,…),
transform 为变换类型,如下:
转换类型
Affine
Projective
Custom
Box
Composite
描述
二维或 N 维仿真变换
二维或 N 维投影变换
用户自定义变换
各维独立变换的放射变换
两种或多种变换的组合变换
MATLAB 中还提供了很多空间变换的工具,如:fliptform,fgormfwd,tforminv,findounds,
makereample,tformarray,imtransform 等。
2.6 图像的领域和块操作
领域操作分为滑动领域和分离领域两类。滑动领域函数 nlfilter,用法如下:
[1] B=nlfilter(A,[m n],fun)\\[m n]表示滑动领域 m*n,fun 为图像领域上的处理函数;
[2] B=nlfilter(A,[m n],fun,P1,P2,…)\\可以传递参数 P1,P2,…给函数 fun;
[3] B=nlfilter(A,’indexed’)\\把图像作为索引色图像处理,double 填补 1,uint8 补 0。
而且 fun 可以是一个函数句柄或是一个内联函数,返回类型由 fun 决定。但是 nlfilter
处理时可能需要很长时间,这时可是考虑使用快速处理函数colfilt。用法类似,多一个参数
bldck_tpye,表示块的移动方式,有 distinct 和 sliding 两个取值,前者表示分离块操作,后
者表示滑动块操作。而且有[mblock nblock]表示图像块的大小。
分离块操作是将图像划分为大小相同的矩形区域,不同图像块在图像中无重叠排列,其
顺序从左上角开始,不足的地方可以在右下角补 0。函数为 blkproe,调用格式和 nlfilter 类
似。
2.7 几何畸形校正和图像配准
用到函数 imtransform。
3 MATLAB 二维与三维图形绘制及动画
3.1 基本绘图命令
函 数
Plot
Semilogx
Semilogx
Loglog
Plotyy
Polar
Grid
Zoom
欢迎下载
功 能
二维,x,y 都是线性坐标
二维,x 为对数坐标,y 为线性
二维,x 为线性坐标,y 为对数
二维,都为对数坐标
二维,左右各一个 y 轴
极坐标图
添加(grid on)或者去掉(grid off)网格
允许或者不允许进行放大操作
- 3 -
-
Ginput
Patch
Fill
用光标获取图像中点的坐标
填充二维或三维坐标中的二维图像
填充二维坐标中的二维图像
3.2 绘图选项
常用的绘图选项:
线形:- -. -- :
颜色:r g b c m y k w
点标记:+ o * . x s d h p > < ^ v
坐标轴标注:axis([xmin xmax,ymin ymax]),axis auto/square/xy/ij/normal/off/on 等用法。
图形窗口保持:hold on…hold off。
给坐标加边框:box on…box off。
图形缩放:zoom on…zoom out…zoom off。
快速绘图:fplot(‘fun’,[ xmin xmax,ymin ymax])。
打印:print[filename][-device][-options],其中 device 决定打印机的类型。
3.3 特殊坐标二维图形
Bar/bar3
Semilogx
Fplot
Hist
Rose
Stairs
Fill
Compass
长条图
对数坐标图形
较精确的函数图形
累计图(直方图)
极坐标累计图(玫瑰)
阶梯图
实心图
罗盘图
Comet
Errorbar
Polar
Plotyy
Plot
Stem
Feather
Quiver
彗星流动图
图形加上误差范围
极坐标绘图
双 y 轴图形
插入表格
针状图
羽毛图
向量场图
说明:plotyy(x1,y1,x2,y2,fun1,fun2),即可以用 fun1 和 fun2 来指定不同的绘图函数,也
可缺省,如 fun1 可以是 plot 等等。Plot(z)绘制复数 z 的实部与虚部的图形。
3.4 二维图形处理
图形标注:title,xlabel,ylabel,zlabel,text,gtext,legend。
图形窗口的分割:subplot(m,n,p)。
坐标系设定:axes,也可事后用 gca(get current axes)获得当前坐标系的句柄。通过 get
和 set 函数获取和设置坐标轴对象的有关属性值。用法如:
属性值=get(句柄,属性)或者 set(句柄,属性 1,属性值 1,属性 2,属性值 2,…)。
3.5 三维图形的绘制
Plot3
Mesh
Meshc
Meshz
Surf
三维线条图
建立网格图
建立具有基本等高线的网格图
建立具有基准平面的网格图
建立表面图
Surfc
Surfl
Surface
Fill3
Pcolor
建立带基本等高线的表面图
建立带指定方向照明的表面图
建立表面图对象的低级函数
填充三维多边形
二维伪彩色绘图,surf 的俯视
说明:
[1]改变网格属性:set(axes_handle,’XGrid’,’on’) grid 函数显示网格。
[2]网格图中用到函数 hidden on 和 hidden off 来显示或者不显示被遮住部分。
- 4 -
欢迎下载
剩余17页未读,继续阅读
资源评论
- tiepiw2022-09-08总算找到了自己想要的资源,对自己的启发很大,感谢分享~
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功