simulink在图像处理中的应用.ppt

上传人:牧羊曲112 文档编号:5448253 上传时间:2023-07-08 格式:PPT 页数:108 大小:5.52MB
返回 下载 相关 举报
simulink在图像处理中的应用.ppt_第1页
第1页 / 共108页
simulink在图像处理中的应用.ppt_第2页
第2页 / 共108页
simulink在图像处理中的应用.ppt_第3页
第3页 / 共108页
simulink在图像处理中的应用.ppt_第4页
第4页 / 共108页
simulink在图像处理中的应用.ppt_第5页
第5页 / 共108页
点击查看更多>>
资源描述

《simulink在图像处理中的应用.ppt》由会员分享,可在线阅读,更多相关《simulink在图像处理中的应用.ppt(108页珍藏版)》请在三一办公上搜索。

1、Simulink视频和图像处理模块,1 视频和图像处理模块集1.1 视频和图像处理模块集概述视频和图像处理模块集V2.6共有70多个子模块,分成11大类模块。各大类模块如右图所示:,2011-03,2,1.2 分析和增强(Analysis&Enhancement)模块库分析和增强类模块包含10个子模块:(1)Block Matching(块匹配)模块(2)Contrast Adjustment(对比度调节)模块(3)Corner Detection(角点检测)模块(4)Deinterlacing(反交错处理)模块(5)Edge Detection(边缘检测)模块(6)Histogram Equ

2、alization(直方图均衡化)模块(7)Median Filter(中值滤波)模块(8)Optical Flow(光流法)模块(9)SAD(绝对误差和)模块(10)Trace Boundaries(边界跟踪)模块,1.3 转换(Conversions)模块库此模块库共包含7个子模块:(1)Autothreshold(自动阈值)模块(2)Chroma Resampling(色度重采样)模块(3)Color Space Conversion(色彩空间转换)模块(4)Demosaic(去马赛克)模块(5)Gamma Correction(伽玛校正)模块(6)Image Complement(图像

3、求补)模块(7)Image Data Type Conversion(图像数据类型转换)模块,1.4 滤波(Filtering)模块库 此模块库共包含4个子模块:(1)2-D Convolution(二维卷积)模块(2)2-D FIR Filter(二维FIR数字滤波)模块(3)Kalman Filter(卡尔曼滤波)模块(4)Median Filter(中值滤波)模块,1.5 几何变换(Geometric Transformations)模块库 此模块库共包含7个子模块:(1)Apply Geometric Transformation(应用几何变换)模块(2)Estimate Geomet

4、ric Transformation(估算几何变换)模块(3)Projective Transformation(投影变换)模块(4)Resize(缩放)模块(5)Rotate(旋转)模块(6)Shear(切变)模块(7)Translate(平移)模块,1.6 形态学操作(Morphological Operations)模块库 此模块库共包含7个子模块:(1)Bottom-hat(底帽滤波)模块(2)Closing(闭合)模块(3)Dilation(膨胀)模块(4)Erosion(腐蚀)模块(5)Label(标记)模块(6)Opening(开启)模块(7)Top-hat(顶帽滤波)模块,1.

5、7 接收器(Sinks)模块库 此模块库共包含6个子模块:(1)Frame Rate Display(帧频显示)模块(2)To Multimedia File(输出多媒体文件)模块(3)To Video Display(输出视频显示器)模块(4)Video To Workspace(向工作空间输出视频)模块(5)Video Viewer(视频显示器)模块(6)Write Binary File(写二进制文件)模块,1.8 输入源(Sources)模块库 此模块库共包含5个子模块:(1)From Multimedia File(来自多媒体文件)模块(2)Image From File(图像文件)

6、模块(3)Image From Workspace(工作空间图像)模块(4)Read Binary File(读二进制文件)模块(5)Video From Workspace(视频来自工作空间)模块,1.9 统计(Statistics)模块库 此模块库共包含12个子模块:(1)2-D Autocorrelation(二阶自相关系数)模块(2)2-D Correlation(二阶互相关系数)模块(3)Blob Analysis(Blob分析)模块(4)Find Local Maxima(求局部极大值)模块(5)Histogram(直方图)模块(6)Maximum(最大值)模块(7)Mean(平均

7、值)模块(8)Median(中值)模块(9)Minimum(最小值)模块(10)PSNR(峰值信噪比)模块(11)Standard Deviation(标准差)模块(12)Variance(方差)模块,1.10 文本和图形(Text&Graphics)模块库 此模块库共包含4个子模块:(1)Compositing(合成)模块(2)Draw Markers(绘制标记)模块(3)Draw Shapes(绘图)模块(4)Insert Text(插入文本)模块,1.11 变换(Transforms)模块库 此模块库共包含7个子模块:(1)2-D DCT(二维离散余弦变换)模块(2)2-D FFT(二维

8、傅立叶变换)模块(3)2-D IDCT(二维离散余弦逆变换)模块(4)2-D IFFT(二维傅立叶逆变换)模块(5)Gaussian Pyramid(高斯金字塔)模块(6)Hough Lines(Hough线)模块(7)Hough Transform(Hough变换)模块,1.12 工具(Utilities)模块库 此模块库共包含3个子模块:(1)Block Processing(块处理)模块 对输入矩阵的指定子矩阵进行用户自定义操作。(2)Image Pad(图像填补)模块 对图像的四周进行填补。(3)Variable Selector(可变选择器)模块 从输入矩阵中选择指定行或列的子集。,

9、2 图像的增强 2.1 灰度变换增强 常见灰度变换方法包括直接灰度变换和直方图修正等方法,获取的主要视觉效果是增强图像对比度。【例1】用对比度调节Contrast Adjustment模块进行直接灰度变换。操作步骤:(1)在Matlab命令窗口中输入viplib命令,打开视频和图像处理模块集Library:viplibv1窗口。(2)在Library:viplibv1窗口中选择FileNewModel菜单,新建Simulink模型。(3)在新建模型窗口中加入所需模块,各模块名称、数量、来源如表1所示,模块放置位置可参考图13。,表1 例1所用模块列表,(4)双击图13所示的各模块,对其进行参数

10、设置:Image From File模块:Main面板中的File name参数设置为pout.tif;Contrast Adjustment模块:Main面板中的Adjust pixel values from参数设置为Range determined by saturating outlier pixels。(5)连接各模块,如下图所示。,(6)设置仿真器参数。选择模型窗口的SimulationConfiguration Parameters菜单,打开Configuration Parameters对话框,在左边窗格中选择Solver面板,在右边窗格设置Stop time为0,Type设为

11、Fixed-step,Solver设为Discrete(no continuous states)。单击OK按钮结束设置。(7)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图是经Contrast Adjustment模块处理后的图像。,【例2】用直方图均衡化Histogram Equalization模块进行直方图修正。操作步骤:(1)使用与例1同样的方法,新建一个Simulink模型。(2)在新建模型窗口中加入所需模块,各模块名称、数量、来源如表2所示,模块放置位置可参考下页中的示意图。,表2 例2所用模块列表,(3)双击模型窗口中的各模块,对其进行参数设置:Ima

12、ge From File模块:Main面板中的File name参数设置为tire.tif;其余模块:各参数均采用默认设置;(4)连接各模块,如下图所示。,(5)设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver设为Discrete(no continuous states)。(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图是经Histogram Equalization模块处理后的图像。由结果可看出,这幅黑色为主的图像经过Histogram Equalization模块进行直方图均衡化处理后,对比度得到增强,原来黑色区域的

13、图像细节得以显示。,2.2 图像平滑增强 图像平滑处理一般通过低通滤波实现,例如均值滤波和中值滤波。获取的主要增强效果是平滑图像细节,去除图像噪声。【例3】用中值滤波Median Filter模块去除椒盐噪声。操作步骤:(1)为了便于观察图像平滑效果,先准备一幅含有椒盐噪声的图像。在MATLAB命令窗口中输入以下命令:A=imread(coins.png);%coins.png是一幅MATLAB自带的样图。B=imnoise(A,salt(2)打开视频和图像处理模块集,新建Simulink模型。(3)在新建模型窗口中加入所需模块,各模块名称、数量、来源如表3所示,模块放置位置可参考下页中示意图

14、。,(4)双击模型窗口中的各模块,对其进行参数设置:Image From Workspace模块:Main面板中的Value参数设置为A;Image From Workspace1模块:Main面板中的Value参数设置为B;Median Filter模块:各参数均采用默认设置;(5)连接各模块,如下页图所示。,表3 例3所用模块列表,(6)设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver设为Discrete(no continuous states)。,例3 仿真框图,(7)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,中图为加

15、入椒盐噪声后的图像,右图是经Median Filter模块处理后的图像。对比三幅图像可以看出,加入椒盐噪声后的图像经过Median Filter模块进行图像平滑处理后,椒盐噪声被去除,同时其余的图像细节也被平滑。,2.3 图像锐化增强 图像锐化处理一般通过高通滤波实现。获取的主要视觉效果是增强图像边缘,补偿图像轮廓,使原来模糊的图像变得清晰。【例4】用FIR滤波器2-D FIR Filter模块进行图像锐化处理。操作步骤:(1)先读入一幅RGB图像。在MATLAB命令窗口中输入以下命令:I=im2double(imread(peppers.png);%peppers.png是MATLAB自带样

16、图。(2)打开视频和图像处理模块集,新建Simulink模型。(3)在新建模型窗口中加入所需模块,各模块名称、数量、来源如表4所示,模块放置位置可参考后页的仿真框图。,(4)双击模型窗口中的各模块,对其进行参数设置:Image From Workspace模块:Main面板中的Value参数设置为I,Image signal 参数设置为Separate color signals;Color Space Conversion模块:Conversion 参数设为RGB to YCbCr(默认设置),Image signal 参数设为Separate color signals;2-D FIR F

17、ilter模块:将Main面板中的Coefficients 参数设置为fspecial(unsharp)以建立二维高通滤波器,Output size 参数设为Same as input port I,Padding options 参数设为Symmetric,Filtering based on 参数设为Correlation。,表4 例4所用模块列表,Color Space Conversion1模块:Conversion 参数设为YCbCr to RGB,Image signal 参数设为Separate color signals;两个Video Viewer模块:均将Image sig

18、nal参数设为 Separate color signals。(5)按下图所示连接各模块。,例4仿真框图,(6)设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver设为Discrete(no continuous states)。(7)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图为经2-D FIR Filter模块锐化后的图像。对比两幅图像可以看出,原始图像经过高通滤波器进行图像锐化处理后,图像中物品的轮廓更加明显,图像显得更加清晰了。,3 图像的几何变换3.1 图像的旋转 图像的旋转可通过几何变换模块库中的Rotate模块实现

19、。【例5】用Rotate模块将图像逆时针旋转45角。操作步骤:(1)打开视频和图像处理模块集,新建Simulink模型。(2)在新建模型窗口中加入如下表所示的各个模块,模块放置位置可参考下页所示模块连接图。,表5 例5所用模块列表,(3)双击模型窗口中的各模块,对其进行参数设置:Image From File模块:Main面板中的File name参数设置为autumn.tif;Rotate模块:Main面板中的Angle(radians)参数设置为pi/4;(即45角)(4)按下图所示连接各模块。,(5)设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solve

20、r设为Discrete(no continuous states)。(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图为经Rotate模块旋转45后的图像。,3.2 图像的切变 几何变换模块库中的Shear模块提供了水平和垂直两个方向的线性切变功能。【例6】用Shear模块完成图像的水平切变。操作步骤:(1)打开视频和图像处理模块集,新建Simulink模型。(2)在新建模型窗口中加入如下表所示的各个模块,模块放置位置可参考下页所示的模块连接图。,(3)双击模型窗口中的各模块,按自已的需要对其进行参数设置:Image From File模块:Main面板中的File

21、 name参数设置为office_4.jpg;Shear模块:Main面板中的Shear direction参数设置为Horizontal(默认设置);Row/column shear values first last 设置为100 0;(4)按下图所示连接各模块。,(5)设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver设为Discrete(no continuous states)。(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图为经Shear模块进行水平切变后的图像。可以看出,按照本例中Shear模块设置的偏移量参数

22、100 0,目标图像首行像素被移动到水平右偏100像素的位置,其余各行的偏移量线性递减,至最后一行偏移量为0,以此构成切变效果。,3.3 图像的缩放 利用几何变换模块库中的Resize模块,可方便地实现图像缩放功能。【例7】用Resize模块缩小图像。操作步骤:(1)打开视频和图像处理模块集,新建Simulink模型。(2)在新建模型窗口中加入如表7所示的各个模块,模块放置位置可参考下页中所示图。,表7 例7所用模块列表,(3)双击模型窗口中的各模块,按自已的需要对其进行参数设置:Image From File模块:Main面板中的File name参数设置为pears.png;Resize模

23、块:Main面板中的Resize factor in%参数设置为30 30;(4)按下图所示连接各模块。,(5)设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver设为Discrete(no continuous states)。(6)保存模型文件,并运行该仿真。运行结果如图所示。其中左图为原始大小图像,右图为经Resize模块进行缩小后的图像。为观察图像的真实大小,可在Video Viewer的界面上选择Axes菜单下的Set Display To True Size菜单项,也可通过右键单击图像来选择该项菜单。两图比较可以看出,按照本例中设置的缩放百分比

24、参数30 30,大小原为486732的图像,其行列像素数均缩小成原来的30%后,图像大小变成了146220。,3.4 图像的裁切 利用工具(Utilities)模块库中的Variable Selector模块或Simulink的Signal Routing模块库的Selector模块,都可以实现图像裁切功能。【例8】用Variable Selector模块裁切图像,取得图像中的一部分。操作步骤:(1)打开视频和图像处理模块集,新建Simulink模型。(2)在新建模型窗口中加入如表8所示的各个模块,模块放置位置可参考后页中的模块连接图。,(3)双击模型窗口中的各模块,对其进行参数设置:Imag

25、e From File模块:Main面板中的File name参数设置为coins.png;Variable Selector模块:Number of input signals参数设置为1,Select参数设置为Columns;Variable Selector1模块:Number of input signals参数设置为1,Select参数设置为Rows;两个 Constant模块:Main面板中的Constant value参数均设置为50:150。(4)按下页图所示连接各模块。,表8 例8所用模块列表,(5)设置仿真器参数。设置Stop time为0,Type设为Fixed-step

26、,Solver设为Discrete(no continuous states)。,(6)保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原始图像,右图为裁切后的图像。为观察图像的真实大小,可在Video Viewer的界面上选择Axes菜单下的Set Display To True Size菜单项,也可右键单击图像来选择。比较两图可以看出,按照本例中设置的行列裁留参数50:150,原始大小为246300的图像,行列方向均只留下从50到150像素的部分,其余部分被裁掉,图像大小也变成了101101。,4 图像的形态学操作数学形态学是计算机数字图像处理中的一个重要研究领域,主要用于获取图

27、像目标的形状特征,在对图像目标进行定量描述与分析的应用领域中发挥了重要的作用。形态学最基本的运算是膨胀和腐蚀,利用膨胀和腐蚀运算可以组成开启和闭合等其它形态学运算,为图像识别等领域提供数学运算支持。,【例9】用形态学方法分析计算MATLAB自带的一幅硬币图像里的硬币数量。任务与思路:MATLAB自带图像文件中有一个coins.png文件,即例8中所使用的图像,该图像是一幅灰度图,现在希望计算机能自行计算该图像中所含硬币的数量。在Simulink中的操作思路是:先把灰度图转为二值图像,然后利用形态学开启运算对二值图进行处理,再用Label模块对目标进行计数。具体操作步骤:(1)打开视频和图像处理

28、模块集,新建Simulink模型。(2)在新建模型窗口中加入如表9所示的各个模块。,(3)双击模型窗口中的各模块,对其进行参数设置:Image From File模块:Main面板中的File name参数设置为coins.png;Autothreshold模块:Main面板中的Scale threshold选项前打勾,将其下的Threshold scaling factor参数设置为0.9;两个Label模块:Output参数都设置为Number of labels;,表9 例9所用模块列表,(4)按下图所示连接各模块。(5)设置仿真器参数。设置Stop time为0,Type设为Fixed

29、-step,Solver设为Discrete(no continuous states)。,(6)保存模型文件,并运行该仿真。运行的图像输出结果如下图所示。其中左图为原始灰度图像,中图为由灰度转为二值图后的图像,右图为执行了形态学开启操作后的图像。运行的计数结果如图38中Display模块上显示的数字所示。由结果可以看出,由于原图中有一个硬币的颜色接近背景颜色,因此在将灰度图转为二值图像后,在该位置出的现的白色目标区域被划分成多块,这时如果直接对该图进行目标计数,得到的结果为12(如前页图所示),是错误的结果;在经过对该图再进行形态学开启操作后,该区域被连通,这时再进行目标计数,就得到正确的结

30、果10。,5 图像的恢复操作 图像的恢复是数字图像处理中常用的处理方法,就是要尽可能恢复在传输或记录过程中,由于成像系统、传输介质或接收设备不完善,导致质量变坏的图像的原来面目。常见的恢复模型如下图表示:,图42 恢复模型原理框图,1 利用函数恢复图像 MATLABR2008b图像处理工具箱中有4个图像恢复函数,如表10所示。,表10 图像恢复函数列表,2 用 Wiener 滤波器进行恢复 用deconvwnr 函数,采用 Wiener 滤波器,在图像的频率特征和附加噪声已知的情况下,采用 Wiener 进行图像恢复比较有效。【例10】Deconvwnr函数应用举例:具体操作步骤:(1)在MA

31、TLAB主界面下点击filenewblank M-file,在新建的M文件里输入如下程序(以下程序编写步骤类似,故省略,直接给出参考程序)。,(2)参考程序:I=checkerboard(8);noise=0.1*randn(size(I);PSF=fspecial(motion,21,11);Blurred=imfilter(I,PSF,circular);BlurredNoisy=im2uint8(Blurred+noise);%噪声功率比NSR=sum(noise(:).2)/sum(I(:).2);%对信噪比参数NSR进行设置。%噪声功率,NP=abs(fftn(noise).2;NP

32、OW=sum(NP(:)/prod(size(noise);%噪声的自相关函数NCORR=fftshift(real(ifftn(NP);%原始图像功率IP=abs(fftn(I).2;IPOW=sum(IP(:)/prod(size(I);,%原始图像的自相关函数ICORR=fftshift(real(ifftn(IP);ICORR1=ICORR(:,ceil(size(I,1)/2);%噪声功率比NSR=NPOW/IPOW;subplot(221);imshow(BlurredNoisy,);%显示加噪以后的退化图像。title(A=Blurred and Noisy);,subplot(

33、222);imshow(deconvwnr(BlurredNoisy,PSF,NSR),);%噪声功率比NSR作为参数选项滤波。title(deconvwnr(A,PSF,NSR);subplot(223);imshow(deconvwnr(BlurredNoisy,PSF,NCORR,ICORR),;%噪声和原始图像自相关函数NCORR 和ICORR作为参数选项滤波。title(deconvwnr(A,PSF,NCORR,ICORR);subplot(224);imshow(deconvwnr(BlurredNoisy,PSF,NPOW,ICORR1),);%噪声功率和原始图像自相关函数IC

34、ORR1作为参数选项滤波。title(deconvwnr(A,PSF,NPOW,ICORR_1_D);,(3)程序编写完成以后,在主菜单栏中选择DebugSave File and Run,如果编译过程中出现错误,则在MATLAB的command window中显示错误行,若没有,即可显示运行结果,如43图所示(以下程序仿真步骤类似,故省略)。,本例使用“图像恢复模型”中创建的模糊图像,为便于比较,指定同一个 PSF 函数。本例演示了导致模糊化的函数 PSF 的重要性,得到准确的 PSF 时,恢复的结果会比较好。,图43 用 Wiener 滤波器进行恢复的图像比较,3 用regular滤波器进

35、行恢复 采用 deconvreg 函数,用 regularized 滤波器恢复图像。当知道附加噪声的部分信息时,使用 regularized 滤波器比较有效。下面通过例题分析用regular滤波器进行图像恢复的效果。,【例11】Deconvreg函数应用举例:参考程序:I=checkerboard(8);PSF=fspecial(gaussian,7,10);V=.01;BlurredNoisy=imnoise(imfilter(I,PSF),gaussian,0,V);NOISEPOWER=V*prod(size(I);J LAGRA=deconvreg(BlurredNoisy,PSF,N

36、OISEPOWER);,subplot(221);imshow(BlurredNoisy);title(A=Blurred and Noisy);subplot(222);imshow(J);title(J LAGRA=deconvreg(A,PSF,NP);,subplot(223);imshow(deconvreg(BlurredNoisy,PSF,LAGRA/10);title(deconvreg(A,PSF,0.1*LAGRA);subplot(224);imshow(deconvreg(BlurredNoisy,PSF,LAGRA*10);title(deconvreg(A,PSF,

37、10*LAGRA);,图44 用regularized 滤波器进行恢复的图像比较,4 用Lucy-Richardson 算法进行恢复 使用 deconvlucy 函数,用加速衰减 Lucy-Richardson 算法恢复图像。假定泊松噪声统计量,用 PSF 进行卷积时,该算法使生成的图像是模糊图像实例的可能性最大。已知 PSF,但对图像中的附加噪声知之甚少时,deconvlucy 函数比较有效。MATLABR2008b中,该函数实现了原始 Lucy-Richardson 最大似然算法的几个改进版本,用它们可以完成复杂的图像恢复任务。,【例12】Deconvlucy函数应用举例:参考程序:I=c

38、heckerboard(8);PSF=fspecial(gaussian,7,10);V=.0001;BlurredNoisy=imnoise(imfilter(I,PSF),gaussian,0,V);WT=zeros(size(I);WT(5:end-4,5:end-4)=1;J1=deconvlucy(BlurredNoisy,PSF);J2=deconvlucy(BlurredNoisy,PSF,20,sqrt(V);J3=deconvlucy(BlurredNoisy,PSF,20,sqrt(V),WT);,subplot(221);imshow(BlurredNoisy);titl

39、e(A=Blurred and Noisy);subplot(222);imshow(J1);title(deconvlucy(A,PSF);subplot(223);imshow(J2);title(deconvlucy(A,PSF,NI,DP);subplot(224);imshow(J3);title(deconvlucy(A,PSF,NI,DP,WT);,图45 用Lucy-Richardson 算法进行恢复的图像比较,5 用盲去卷积算法进行恢复 使用 deconvblind 函数,采用盲去卷积算法恢复图像。该算法用在不知道失真信息的情况下比较有效。deconvblind 函数使用与加

40、速衰减 Lucy-Richardson 算法近似的迭代处理来同时恢复图像和 PSF。与 deconvlucy 函数类似,deconvblind 函数也实现了几个原 Lucy-Richardson 最大似然算法的改进版本来完成复杂的图像恢复任务。,【例13】Deconvblind函数应用举例:参考程序:I=checkerboard(8);PSF=fspecial(gaussian,7,10);V=.0001;BlurredNoisy=imnoise(imfilter(I,PSF),gaussian,0,V);WT=zeros(size(I);WT(5:end-4,5:end-4)=1;INITP

41、SF=ones(size(PSF);J P=deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT);,subplot(221);imshow(BlurredNoisy);title(A=Blurred and Noisy);subplot(222);imshow(PSF,);title(True PSF);subplot(223);imshow(J);title(Deblurred Image);subplot(224);imshow(P,);title(Recovered PSF);,图46 用盲卷积算法进行恢复的图像比较,6 图像的重建操作 图

42、像重建操作指通过对离散图像进行线性空间内插或线性空间滤波来重新获得连续图像的方法。本章节主要以线性空间滤波对二维静态图像进行重建。MATLAB图像处理工具箱中的Phantom函数,可以产生一幅Shepp-Logan人脑模型图,该图作为一个二维平面测试图,对其进行重建操作可以模拟出许多人脑横切面的性质和特征。,【例14】调用Phantom函数,产生Shepp-Logan人脑模型图,利用Radon Transform和Inverse Radon Transform函数实现图像的重建。参考程序:angularvector=0:179;%设置角度从0到179.P=phantom(Modified Sh

43、epp-Logan,200);%调用Phantom函数产生重建原始模型.imshow(P);%显示原始图像.angularvector1=0:10:170;%设置角度的起止点和步长.,R1,xp=radon(P,angularvector1);%在设置角度情况下,对原始图像调用Radon变换.angularvector2=0:5:175;%设置角度新的起止点和步长,赋予新的变量.R2,xp=radon(P,angularvector2);%对应新的角度,对原始图像调用Radon变换.angularvector3=0:2:178;%原理同上.R3,xp=radon(P,angularvector

44、3);%综上为R1,R2,R3三个不同角度下的Radon变换.,figure,imagesc(angularvector,xp,R1);%独立显示 imagesc绘制Radon变换后的离散点阵.title(radon transform of the Shepp-Logan head phantom using 18 projections);%标题.xlabel(angularvector(degree);%X轴标注.ylabel(Xprime);%Y轴标注.set(gca,Xtick,0:20:179);%设置显示单位从0到179,步长为20.colormap(hot);%颜色平滑过渡.c

45、olorbar;%图像的旁边显示色条.,figure,imagesc(angularvector2,xp,R2);title(radon transform of the Shepp-Logan head phantom using 36 projections)xlabel(angularvector(degree);ylabel(Xprime);set(gca,Xtick,0:20:179);colormap(hot);colorbar;,figure,imagesc(angularvector3,xp,R3);title(radon transform of the Shepp-Loga

46、n head phantom using 90 projections)xlabel(angularvector(degree);ylabel(Xprime);set(gca,Xtick,0:20:179);colormap(hot);colorbar;,IR1=iradon(R1,angularvector1,0.9);%指定归一化频率为0.9figure,imshow(IR1);%独立窗口中显示图像IR1.title(Inverse Radon Transform of the Shepp-Logan Head Phantom using 18 projections);IR2=irado

47、n(R2,angularvector2,0.9);%指定归一化频率为0.9figure,imshow(IR2);%独立窗口中显示图像IR2.title(Inverse Radon Transform of the Shepp-Logan Head Phantom using 36 projections);IR3=iradon(R3,angularvector3,0.9);%指定归一化频率为0.9figure,imshow(IR3);%独立窗口中显示图像IR3.title(Inverse Radon Transform of the Shepp-Logan Head Phantom using

48、 90 projections);,图47 利用Phantom函数产生的Shepp-Logan大脑原始图像,图48 原图18radon变换 图49 原图36radon变换 图50 原图90radon变换,图51 18radon逆变换 图52 36radon逆变换 图53 90radon逆变换,7 数字图像处理的综合实例及分析【例15】使用视频和图像处理模块集,对图像circuit.tif进行旋转和增强处理,改善图像的显示效果。操作步骤:(1)在Matlab命令窗口中输入viplib命令,打开视频和图像处理模块集Library:viplibv1窗口。(2)在Library:viplibv1窗口中

49、选择FileNewModel菜单,新建Simulink模型。(3)在新建模型窗口中加入所需模块,各模块名称、数量、来源如表11所示,模块放置位置可参考图54。,表11 例15所用模块列表,(4)双击图54所示的各模块,对其进行参数设置:Image From File模块:Main面板中的File name参数设置为circuit.tif;Rotate模块:Main面板中的Angle(radians)参数设置为pi/2;(即90角)Contrast Adjustment模块:Main面板中的Adjust pixel values from参数设置为Range determined by satu

50、rating outlier pixels。(5)连接各模块,如图54所示。,(6)设置仿真器参数。选择模型窗口的SimulationConfiguration Parameters菜单,打开Configuration Parameters对话框,图54 例15仿真框图,在左边窗格中选择Solver面板,在右边窗格设置Stop time为0,Type设为Fixed-step,Solver设为Discrete(no continuous states)。单击OK按钮结束设置。(7)保存模型文件,并运行该仿真。运行结果如图55、图56和图57所示。其中图55为原始图像,图56是经Rotate模块处

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号