iradon后面电脑上参数什么意思意思

如何改变iradon图像大小_百度知道
如何改变iradon图像大小
我有更好的答案
_correct=iradon(sino_correct,theta,','Ram-Lak',512);
看最后一个参数;nearest&#39
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。赞助商链接
当前位置: >>
simulink 在图像处理中的应用
Simulink视频和图像处理模块 1 视频和图像处理模块集1.1 视频和图像处理模块集概述? 视频和图像处理模块集V2.6共有70多个子模块,分成11大类模 块。 ? 各大类模块如右图所示:2011-032 1.2 分析和增强(Analysis & Enhancement)模块库分析和增强类模块包含10个子模块 : ?(1) Block Matching(块匹配)模块 ?(2) Contrast Adjustment(对比度调节)模块 ?(3) Corner Detection(角点检测)模块 ?(4) Deinterlacing(反交错处理)模块 ?(5) Edge Detection(边缘检测)模块 ?(6) Histogram Equalization(直方图均衡化)模块 ?(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(图像求补)模块 ?(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 Geometric 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.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(图像文件)模块 ?(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(平均值)模块 ? (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(二维傅立叶变换)模块 ?(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(可变选择器)模块从输入矩阵中选择指定行或列的子集。 2 图像的增强2.1 灰度变换增强常见灰度变换方法包括直接灰度变换和直方图修 正等方法,获取的主要视觉效果是增强图像对比度。 【例1】 用对比度调节Contrast Adjustment模块进行直接灰度变换。操作步骤:(1) 在Matlab命令窗口中输入viplib命令,打开视频和图像处理模 块集Library:viplibv1窗口。 (2) 在Library:viplibv1窗口中选择File?New?Model菜单,新建 Simulink模型。 (3) 在新建模型窗口中加入所需模块,各模块名称、数量、来源 如表1所示,模块放置位置可参考图13。 表1 例1所用模块列表模块名称 Image From File 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Analysis & Enhancement Video and Image Processing Blockset & Sinks 1 数量Contrast AdjustmentVideo Viewer12(4) 双击图13所示的各模块,对其进行参数设置: ? Image From File模块:Main面板中的File name参数设置为pout.tif; ? Contrast Adjustment模块:Main面板中的Adjust pixel values from参 数设置为Range determined by saturating outlier pixels。 (5) 连接各模块,如下图所示。 (6) 设置仿真器参数。选择模型窗口的Simulation?Configuration Parameters菜单,打开 Configuration Parameters对话框,在左边窗格中选择Solver面板,在右 边窗格设置Stop time为0,Type设为Fixed-step,Solver设为Discrete (no continuous states)。单击OK按钮结束设置。 (7) 保存模型文件,并运行该仿真。运行结果如下图所示。其中左图为原 始图像,右图是经Contrast Adjustment模块处理后的图像。 【例2】 用直方图均衡化Histogram Equalization模块进行直方 图修正。 操作步骤:(1) 使用与例1同样的方法,新建一个Simulink模型。(2) 在新建模型窗口中加入所需模块,各模块名称、数量、来源如表2 所示,模块放置位置可参考下页中的示意图。表2 例2所用模块列表模块名称 Image From File Histogram Equalization Video Viewer 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Analysis & Enhancement Video and Image Processing Blockset & Sinks 1 1 2 数量 (3) 双击模型窗口中的各模块,对其进行参数设置: ? Image 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模 块进行直方图均衡化处理后,对比度得到增强,原来黑色区域的 图像细节得以显示。 2.2 图像平滑增强图像平滑处理一般通过低通滤波实现,例如均 值滤波和中值滤波。获取的主要增强效果是平滑图 像细节,去除图像噪声。【例3】 用中值滤波Median Filter模块去除椒盐噪声。操作步骤:(1) 为了便于观察图像平滑效果,先准备一幅含有椒盐噪声的图 像。在MATLAB命令窗口中输入以下命令: A= imread('coins.png'); % coins.png是一幅MATLAB自带的样图。 B= imnoise(A,'salt & pepper',0.02);(2) 打开视频和图像处理模块集,新建Simulink模型。(3) 在新建模型窗口中加入所需模块,各模块名称、数量、来源 如表3所示,模块放置位置可参考下页中示意图。 表3 例3所用模块列表模块名称 模块来源 数量Image From Workspace Median Filter Video ViewerVideo and Image Processing Blockset & Sources Video and Image Processing Blockset & Analysis & Enhancement Video and Image Processing Blockset & Sinks2 1 3(4) 双击模型窗口中的各模块,对其进行参数设置: ? Image From Workspace模块:Main面板中的Value参数设置为A; ? Image From Workspace1模块:Main面板中的Value参数设置为B; ? Median Filter模块:各参数均采用默认设置; (5) 连接各模块,如下页图所示。 例3 仿真框图(6) 设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver 设为Discrete (no continuous states)。 (7) 保存模型文件,并运行该仿真。运行结果如下图所示。其中左图 为原始图像,中图为加入椒盐噪声后的图像,右图是经Median Filter模块处理后的图像。对比三幅图像可以看出,加入椒盐噪声后的图像经过Median Filter 模块进行图像平滑处理后,椒盐噪声被去除,同时其余的图像细 节也被平滑。 2.3 图像锐化增强图像锐化处理一般通过高通滤波实现。获取的主 要视觉效果是增强图像边缘,补偿图像轮廓,使原来 模糊的图像变得清晰。 【例4】 用FIR滤波器2-D FIR Filter模块进行图像锐化处理。操作步骤:(1) 先读入一幅RGB图像。在MATLAB命令窗口中输入以下命令: I= im2double(imread('peppers.png')); % peppers.png是MATLAB自带样 图。 (2) 打开视频和图像处理模块集,新建Simulink模型。 (3) 在新建模型窗口中加入所需模块,各模块名称、数量、来源如表4所示,模块放置位置可参考后页的仿真框图。 表4 例4所用模块列表模块名称 Image From Workspace Color Space Conversion 2-D FIR Filter Video Viewer 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Conversions Video and Image Processing Blockset & Filtering Video and Image Processing Blockset & Sinks 1 2 1 2 数量(4) 双击模型窗口中的各模块,对其进行参数设置: ? Image From Workspace模块:Main面板中的Value参数设置为I, Image signal 参数设置为Separate color signals; ? Color Space Conversion模块:Conversion 参数设为R'G'B' to Y'CbCr (默认设置),Image signal 参数设为Separate color signals; ? 2-D FIR Filter模块:将Main面板中的Coefficients 参数设置为 fspecial('unsharp')以建立二维高通滤波器,Output size 参数设为 Same as input port I,Padding options 参数设为Symmetric,Filtering based on 参数设为Correlation。 ? Color Space Conversion1模块:Conversion 参数设为Y'CbCr to R'G'B', Image signal 参数设为Separate color signals; ? 两个Video Viewer模块:均将Image signal参数设为 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模块实现。【例5】 用Rotate模块将图像逆时针旋转45°角。 操作步骤:(1) 打开视频和图像处理模块集,新建Simulink模型。 (2) 在新建模型窗口中加入如下表所示的各个模块,模块放置位 置可参考下页所示模块连接图。表5 例5所用模块列表模块名称 Image From File Rotate Video Viewer 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Geometric Transformations Video and Image Processing Blockset & Sinks 1 1 2 数量 (3) 双击模型窗口中的各模块,对其进行参数设置: ? Image From File模块:Main面板中的File name参数设置为autumn.tif; ? Rotate模块:Main面板中的Angle (radians)参数设置为pi/4;(即 45°角) (4) 按下图所示连接各模块。 (5) 设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver 设为Discrete (no continuous states)。 (6) 保存模型文件,并运行该仿真。运行结果如下图所示。其中左图 为原始图像,右图为经Rotate模块旋转45°后的图像。 3.2 图像的切变几何变换模块库中的Shear模块提供了水平和垂直两个方向的线性切变功能。【例6】 用Shear模块完成图像的水平切变。 操作步骤:(1) 打开视频和图像处理模块集,新建Simulink模型。 (2) 在新建模型窗口中加入如下表所示的各个模块,模块放置位 置可参考下页所示的模块连接图。模块名称 Image From File 模块来源 Video and Image Processing Blockset & Sources 1 数量ShearVideo ViewerVideo and Image Processing Blockset & Geometric TransformationsVideo and Image Processing Blockset & Sinks12 (3) 双击模型窗口中的各模块,按自已的需要对其进行参数设置: ? Image From File模块:Main面板中的File 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模块设置的偏移量参数[100 0], 目标图像首行像素被移动到水平右偏100像素的位置,其余各行的 偏移量线性递减,至最后一行偏移量为0,以此构成切变效果。 3.3 图像的缩放利用几何变换模块库中的Resize模块,可方便 地实现图像缩放功能。 【例7】 用Resize模块缩小图像。 操作步骤:(1) 打开视频和图像处理模块集,新建Simulink模型。 (2) 在新建模型窗口中加入如表7所示的各个模块,模块放置位置 可参考下页中所示图。表7 例7所用模块列表模块名称 Image From File Resize Video Viewer 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Geometric Transformations Video and Image Processing Blockset & Sinks 1 1 2 数量 (3) 双击模型窗口中的各模块,按自已的需要对其进行参数设置: ? Image From File模块:Main面板中的File name参数设置为pears.png; ? Resize模块: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菜单项,也可通过右键单击图像来选择该项菜 单。两图比较可以看出,按照本例中设置的缩放百分比参数[30 30], 大小原为486×732的图像,其行列像素数均缩小成原来的30%后, 图像大小变成了146×220。 3.4 图像的裁切利用工具(Utilities)模块库中的Variable Selector模块或Simulink的Signal Routing模块库的Selector模块, 都可以实现图像裁切功能。 【例8】 用Variable Selector模块裁切图像,取得图像中的 一部分。 操作步骤:(1) 打开视频和图像处理模块集,新建Simulink模型。 (2) 在新建模型窗口中加入如表8所示的各个模块,模块放置位置 可参考后页中的模块连接图。 表8 例8所用模块列表模块名称 Image From File Variable Selector 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Utilities 1 2 数量ConstantVideo ViewerSimulink & SourcesVideo and Image Processing Blockset & Sinks22(3) 双击模型窗口中的各模块,对其进行参数设置: ? Image 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) 按下页图所示连接各模块。 (5) 设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver 设为Discrete (no continuous states)。 (6) 保存模型文件,并运行该仿真。运行结果如下图所示。其中左图 为原始图像,右图为裁切后的图像。为观察图像的真实大小,可 在Video Viewer的界面上选择Axes菜单下的Set Display To True Size菜 单项,也可右键单击图像来选择。比较两图可以看出,按照本例中设置的行列裁留参数[50:150],原 始大小为246×300的图像,行列方向均只留下从50到150像素的部分,其余部分被裁掉,图像大小也变成了101×101。 4 图像的形态学操作? 数学形态学是计算机数字图像处理中的一个重要研究 领域,主要用于获取图像目标的形状特征,在对图像 目标进行定量描述与分析的应用领域中发挥了重要的 作用。? 形态学最基本的运算是膨胀和腐蚀,利用膨胀和腐蚀运算可以组成开启和闭合等其它形态学运算,为图像 识别等领域提供数学运算支持。 【例9】 用形态学方法分析计算MATLAB自带的一幅硬币图像里的硬币数量。任务与思路: MATLAB自带图像文件中有一个coins.png文件,即例8中所使用的图像,该图像是一幅灰度图,现在希望计算机能自行 计算该图像中所含硬币的数量。在Simulink中的操作思路是:先把 灰度图转为二值图像,然后利用形态学开启运算对二值图进行处 理,再用Label模块对目标进行计数。具体操作步骤:(1) 打开视频和图像处理模块集,新建Simulink模型。 (2) 在新建模型窗口中加入如表9所示的各个模块。 表9 例9所用模块列表模块名称 Image From File Autothreshold Opening Label Video Viewer Display 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Conversions 1 1 1 2 3 2 数量Video and Image Processing Blockset & Morphological OperationsVideo and Image Processing Blockset & Morphological Operations Video and Image Processing Blockset & Sinks Simulink & Sinks(3) 双击模型窗口中的各模块,对其进行参数设置: ? Image From File模块:Main面板中的File name参数设置为coins.png; ? Autothreshold模块:Main面板中的Scale threshold选项前打勾,将其 下的Threshold scaling factor参数设置为0.9; ? 两个Label模块:Output参数都设置为Number of labels; (4) 按下图所示连接各模块。(5) 设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver设为Discrete (no continuous states)。 (6) 保存模型文件,并运行该仿真。运行的图像输出结果如下图所示。 其中左图为原始灰度图像,中图为由灰度转为二值图后的图像, 右图为执行了形态学开启操作后的图像。运行的计数结果如图38 中Display模块上显示的数字所示。由结果可以看出,由于原图中有一个硬币的颜色接近背景颜色, 因此在将灰度图转为二值图像后,在该位置出的现的白色目标区 域被划分成多块,这时如果直接对该图进行目标计数,得到的结 果为12(如前页图所示),是错误的结果;在经过对该图再进行 形态学开启操作后,该区域被连通,这时再进行目标计数,就得 到正确的结果10。 5 图像的恢复操作图像的恢复是数字图像处理中常用的处理方法,就是要尽可能 恢复在传输或记录过程中,由于成像系统、传输介质或接收设备 不完善,导致质量变坏的图像的原来面目。常见的恢复模型如下图表示:附加噪声 原始图像 图 像 点扩散函数 ( PSF)图42 恢复模型原理框图 1 利用函数恢复图像MATLABR2008b图像处理工具箱中有4个图像恢复函数, 如表10所示。表10 图像恢复函数列表函数名称 deconvwnr deconvreg deconvlucy deconvblind函数用途 用Wiener滤波器实现图像恢复 用regularized滤波器实现图像恢复 用lucy-richardson算法实现恢复 用bilnd去卷积算法实现图像恢复 2 用 Wiener 滤波器进行恢复用deconvwnr 函数,采用 Wiener 滤波器,在图像的频率特征和附 加噪声已知的情况下,采用 Wiener 进行图像恢复比较有效。【例10】Deconvwnr函数应用举例:具体操作步骤: (1)在MATLAB主界面下点击file new blank 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; NPOW = 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(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),[ ]);%噪声功率和原始图像自相关函数ICORR1作为参数选项滤波。 title('deconvwnr(A,PSF,NPOW,ICORR_1_D)'); (3)程序编写完成以后,在主菜单栏中选择Debug Save File and Run,如 果编译过程中出现错误,则在MATLAB的command window中显示错误 行,若没有,即可显示运行结果,如43图所示(以下程序仿真步骤类 似,故省略)。 图43 用 Wiener 滤波器进行恢复的图像比较本例使用“图像恢复模型”中创建的模糊图像,为便于比较,指 定同一个 PSF 函数。本例演示了导致模糊化的函数 PSF 的重要性,得 到准确的 PSF 时,恢复的结果会比较好。 3 用regular滤波器进行恢复采用 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,NOISEPOWER); 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,[ ],10*LAGRA)'); 图44 用regularized 滤波器进行恢复的图像比较 4 用Lucy-Richardson 算法进行恢复使用 deconvlucy 函数,用加速衰减 Lucy-Richardson 算法恢复图像。 假定泊松噪声统计量,用 PSF 进行卷积时,该算法使生成的图像是模 糊图像实例的可能性最大。已知 PSF,但对图像中的附加噪声知之甚 少时,deconvlucy 函数比较有效。MATLABR2008b中,该函数实现了原 始 Lucy-Richardson 最大似然算法的几个改进版本,用它们可以完成复 杂的图像恢复任务。 【例12】Deconvlucy函数应用举例:参考程序: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; J1 = deconvlucy(BlurredNoisy,PSF); J2 = deconvlucy(BlurredNoisy,PSF,20,sqrt(V)); J3 = deconvlucy(BlurredNoisy,PSF,20,sqrt(V),WT); subplot(221);imshow(BlurredNoisy); title('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 函数使用与加速衰减 Lucy-Richardson 算法近似的迭代处理来同时恢复图像和 PSF。 与 deconvlucy 函数类似,deconvblind 函数也实现了几个原 LucyRichardson 最大似然算法的改进版本来完成复杂的图像恢复任务。 【例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;INITPSF = 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 图像的重建操作图像重建操作指通过对离散图像进行线性空间内插或线性空间滤 波来重新获得连续图像的方法。本章节主要以线性空间滤波对二维静 态图像进行重建。 MATLAB图像处理工具箱中的Phantom函数,可以产生一幅SheppLogan人脑模型图,该图作为一个二维平面测试图,对其进行重建操作可以模拟出许多人脑横切面的性质和特征。 【例14】调用Phantom函数,产生Shepp-Logan人脑模型图,利用Radon Transform和Inverse Radon Transform函数实现图像的重建。 参考程序:angularvector=0:179;%设置角度从0到179.P = phantom('Modified Shepp-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,angularvector3);%综上为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('X\prime'); %Y轴标注.set(gca,'Xtick',0:20:179);%设置显示单位从0到179,步长为20.colormap(hot);%颜色平滑过渡.%图像的旁边显示色条. figure,imagesc(angularvector2,xp,R2); title('radon transform of the Shepp-Logan head phantom using 36 projections ')xlabel('\angularvector(degree)');ylabel('X\prime'); set(gca,'Xtick',0:20:179);colormap(hot); figure,imagesc(angularvector3,xp,R3); title('radon transform of the Shepp-Logan head phantom using 90 projections ')xlabel('\angularvector(degree)');ylabel('X\prime'); set(gca,'Xtick',0:20:179);colormap(hot); IR1=iradon(R1,angularvector1,0.9);%指定归一化频率为0.9 figure,imshow(IR1);%独立窗口中显示图像IR1. title(' Inverse Radon Transform of the Shepp-Logan Head Phantom using 18 projections ');IR2=iradon(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.9 figure,imshow(IR3); %独立窗口中显示图像IR3. title(' Inverse Radon Transform of the Shepp-Logan Head Phantom using 90 projections '); 图47 利用Phantom函数产生的Shepp-Logan大脑原始图像 图48 原图18°radon变换图49 原图36°radon变换 图50 原图90°radon变换图51 18°radon逆变换图52 36°radon逆变换图53 90°radon逆变换 7 数字图像处理的综合实例及分析【例15】使用视频和图像处理模块集,对图像circuit.tif进行旋转和增强处 理,改善图像的显示效果。 操作步骤:(1) 在Matlab命令窗口中输入viplib命令,打开视频和图像处理模块集 Library:viplibv1窗口。(2) 在Library:viplibv1窗口中选择File New Model菜单,新建Simulink模型。 (3) 在新建模型窗口中加入所需模块,各模块名称、数量、来源如表11所 示,模块放置位置可参考图54。 表11 例15所用模块列表模块名称 Image From File Rotate Contrast Adjustment Video Viewer模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Geometric Transformations Video and Image Processing Blockset & Analysis & Enhancement Video and Image Processing Blockset & Sinks 1 1 1 3数量 (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 saturating outlier pixels。 (5) 连接各模块,如图54所示。 图54 例15仿真框图(6) 设置仿真器参数。选择模型窗口的Simulation Configuration Parameters 菜单,打开Configuration Parameters对话框 在左边窗格中选择Solver面板,在右边窗格设置Stop time为0,Type设为 Fixed-step,Solver设为Discrete (no continuous states)。单击OK按钮结 束设置。 (7) 保存模型文件,并运行该仿真。运行结果如图55、图56和图57所示。 其中图55为原始图像,图56是经Rotate模块处理后的图像,图57是经 Contrast Adjustment模块处理后的图像。由结果可看出,图像经过Rotate模块处理后电路板元器件布局走向由纵向变为横向,经过Contrast Adjustment模块进行灰度变换处理后,图像 对比度明显增强。 图55 例15原始图像图56 例15旋转后图像图57 例15增强后图像 【例16】使用视频和图像处理模块集,利用形态学方法实现图像噪点消除。 操作步骤: (1) 为了便于观察图像去噪效果,先准备一幅含有椒盐噪声的图像。在MATLAB命令窗口中输入以下命令:&& A=imread('tire.tif'); % tire.tif是一幅MATLAB自带的样图。&& B= imnoise(A,'salt & pepper',0.02);(2) 打开视频和图像处理模块集,新建Simulink模型。(3) 在新建模型窗口中加入如表12所示的各个模块,模块放置位置可参考图58。 表12 例5所用模块列表 模块名称 Image From Workspace Autothreshold Opening Closing Video Viewer 模块来源 Video and Image Processing Blockset & Sources Video and Image Processing Blockset & Conversions Video and Image Processing Blockset & Morphological Operations Video and Image Processing Blockset & Morphological Operations Video and Image Processing Blockset & Sinks 数 量 2 1 1 2 5 (4) 双击模型窗口中的各模块,对其进行参数设置: Image From Workspace模块:Main面板中的Value参数设置为A; Image From Workspace1模块:Main面板中的Value参数设置为B;Autothreshold模块:Main面板中的Scale threshold选项前打勾,将其下的Threshold scaling factor参数设置为0.9; (5) 按图26所示连接各模块。 图58 例16仿真框图 (6) 设置仿真器参数。设置Stop time为0,Type设为Fixed-step,Solver设为 Discrete (no continuous states)。 (7) 保存模型文件,并运行该仿真。运行的图像输出结果如图59至图63所示。其中图59为原始灰度图像,图60为加入噪声后的图像,图61为灰度图转为二值图后的图像,图62为执行了形态学开启运算操作后的图 像,图63为执行了形态学闭合运算操作后的图像。 图59 例16原始图像图60 例16加噪后图像图61 例16二值化图像图62 例16开运算图像图63 例16闭运算图像 由结果可以看出,将原图中加入噪点以后,深色背景下的噪点为白色,浅色背景下的噪点为黑色,为了使背景与噪点更加容易区分, 将加噪后的图像二值化,因此在将灰度图转为二值图像后,可以清楚地观察出黑色背景和白色背景上的噪点,这时再对二值化图像进行形态学操作:开启运算可以去除黑色背景上的噪点,闭合运算可以去除 白色背景上的噪点,从而达到图像去噪的效果。 【例17】通过MATLABR2008b开发环境实现用维纳滤波器恢复原图像。 1)把噪声加入纯净图像形成退化图像,比较运动噪声和高斯噪声对图像 的影响; 原图像如图64所示:图64 例17原始图像 操作步骤: (1)在MATLAB主界面下点击file new blank M-file,再点击file save as保 存新建的M文件exam5_17a.m,在新建的M文件里输入如下程序。(2)参考程序:I=imread('autumn.tif'); figure,imshow(I);LEN=31;%设置长度或距离。THETA=11;%设置方向角度。 PSF1=fspecial('motion',LEN,THETA);%点扩散函数参数设置。 PSF2=fspecial('gaussian',10,5); Blurred1=imfilter(I,PSF1,'circular','conv');Blurred2=imfilter(I,PSF2,'conv');V=0.002; BlurredNoisy1=imnoise(Blurred1,'gaussian',0,V); BlurredNoisy2=imnoise(Blurred2,'gaussian',0,V); wnr1=deconvwnr(Blurred1,PSF1); wnr2=deconvwnr(Blurred1,PSF2); subplot(2,2,1);imshow(BlurredNoisy1); %显示运动噪声引起的模糊图像。 title('motion'); subplot(2,2,2);imshow(BlurredNoisy2); %显示高斯噪声引起的模糊图像。title('gaussian');subplot(2,2,3);imshow(wnr1); %显示利用维纳滤波器恢复运动噪声引起的模糊图像。 title('restored1,ture PSF'); subplot(2,2,4);imshow(wnr2); %显示利用维纳滤波器恢复高斯噪声引起的模糊图像。 title('restored2,true PSF'); (3)程序编写完成以后,在主菜单栏中选择Debug Save File and Run,如 果编译过程中出现错误,则在MATLAB的command window中显示错误 行,进行检查和修改;若没有,即可显示运行结果,如65图所示。 图65 例17维纳滤波恢复图像 (4)结果分析:仿真图中按照矩阵排列,第一幅图为运动噪声引起的模糊图像,第二幅图为高斯噪声引起的模糊图像,第三幅图为利用维纳滤波器恢 复运动噪声引起的模糊图像,第四幅图为利用维纳滤波器恢复高斯噪 声引起的模糊图像。结果可以明显看出:运动引起的模糊图像的恢复 效果比因高斯引起的模糊图像的恢复效果清晰。 2)将维纳滤波器的参数进行设定来恢复图像;观察并比较恢复效果。 (1)本例题选择针对运动噪声引起的模糊图像,采用了设定过大的模糊 距离参数和过大的模糊运动方向角度参数进行恢复的方法 (创建M文件等操作步骤与前面类似,故省略步骤,直接给出参考程序和运行结果)。 参考程序:I=imread('autumn.tif');LEN=31; THETA=11; PSF1=fspecial('motion',LEN,THETA); PSF2=fspecial('gaussian',10,5); Blurred1=imfilter(I,PSF1,'circular','conv'); Blurred2=imfilter(I,PSF2,'conv'); V=0.002; BlurredNoisy1=imnoise(Blurred1,'gaussian',0,V); BlurredNoisy2=imnoise(Blurred2,'gaussian',0,V); wnr3=deconvwnr(Blurred1,fspecial('motion',2*LEN,THETA));% 设置过大模糊 距离参数%来恢复图像。 wnr4=deconvwnr(Blurred1,fspecial('motion',LEN,2*THETA));% 设置过大运动方向角度%参数来恢复图像。subplot(1,2,1);imshow(wnr3); % 显示过大模糊距离恢复的图像。 title('restored1,ture PSF');subplot(1,2,2);imshow(wnr4); % 显示过大运动方向角度恢复的图像。title('restored2,true PSF'); 结果如下:图66 例17运动模糊图像与高斯模糊图像恢复后对比 (2)在2节中利用维纳滤波器恢复图像的指令格式中还提供了一种利用 图像的自相关函数来提高恢复图像质量的方法,格式为: deconvwnr(BlurredNoisy,PSF,NCORR,ICORR)。 参考程序:I=imread('autumn.tif ');LEN=31; THETA=11; PSF1=fspecial('motion',LEN,THETA); PSF2=fspecial('gaussian',10,5); Blurred1=imfilter(I,PSF1,'circular','conv'); Blurred2=imfilter(I,PSF2,'conv'); V=0.002; BlurredNoisy1=imnoise(Blurred1,'gaussian',0,V); BlurredNoisy2=imnoise(Blurred2,‘gaussian’,0,V); NP=(V*prod(size(I))).^2; NPOW=sum(NP(:))/prod(size(I)); NCORR=fftshift(real(ifftn(NP)));%噪声的自相关函数的设置。 IP=abs(fftn(im2double(I))).^2;IPOW=sum(IP(:))/prod(size(I));ICORR=fftshift(real(ifftn(IP))); %原始图像的自相关函数的设置。 wnr5=deconvwnr(BlurredNoisy1,PSF1,NCORR,ICORR);wnr6=deconvwnr(BlurredNoisy2,PSF2,NCORR,ICORR);subplot(1,2,1);imshow(wnr5); subplot(1,2,2);imshow(wnr6);结果如下: 图67 例17不同自相关信息恢复图像对比 本章小结第5章以Simulink视频和图像处理模块为主,从实际应用角度出发, 以二维静态图像为主要研究图像,举例讲述了图像的增强、图像的几何变换、图像的形态学操作等处理方法;图像的恢复操作、图像的重建操作侧重对MATLABR2008b图像处理工具箱中的常用函数进行了介 绍。 通过1至4节的学习,我们可以掌握在使用视频和图像处理模块集 时,只需选用所需模块,然后通过拖拽的方式在新建Simulink模型中 摆放合理,然后绘制好仿真系统框图,再设定各模块参数,即可启动 仿真,完成图像处理工作。此方法简单直观,不需要编写复杂的程序 代码,也不需要精通各模块的内部原理与算法,易于掌握。 5节和6节则是对图像处理的深入理解,目前Simulink中还未包括有 针对性的处理模块,需要在图像处理工具箱中调用有关函数,如: deconvwnr、deconvreg、deconvlucy、deconvblind四种常用的图像恢复函数,以及利用radon函数实现图像重建等。函数调用虽然需要读者牢记这些函数指令、格式,但是无需掌握各个模块之间的联结关系就 可以在编写程序时灵活修改参数和显示模式,如:单图多窗显示,单窗多图显示,后者尤其适合图像处理多结果输出对比的情况。 MATLAB本身较其它编程环境而言已经极大程度地简化,通俗易懂, 相信读者通过对实例的学习,应该可以很快掌握有关函数的应用。 图像处理模块与图像处理工具箱各有快速掌握的优势,1至4节的 内容也可以通过简单的函数指令实现,限于篇幅,望读者参阅相关资 料,丰富学习。
赞助商链接
m​a​t​l​a​b​ ​的​图​像​拼​接​技​术浅谈基于matlab 的图像拼接技术在医学图像处理中 的应用李? 娟? 张宝昌? 孙? 娟...MATLAB在图像处理理论和技术的发展及应用【论文】_信息与通信_工程科技_专业资料。MATLAB 在图像处理理论和技术的发展及应用摘要: 数字图像处理技术是随着计算机技术的...MATLAB 在数字图像增强处理上的应用 姓名: 学号: 专业: 班级 : 学院: 完成日期: MATLAB 在图像增强处理中的应用(姓名 学号 年级 班级) [摘要]数字图像增强处理...36 2 / 52 1、设计目的: 综合运用 MATLAB 工具箱实现图像处理的 GUI 程序设计, 利用 MATLAB 图像处理工具箱,设计和实现自己的 Photoshop 。 2、题目分析 利用...处理 一、 实验条件 PC 机 Matlab 软件(已安装图象处理等工具箱) 大量样图(...具体步骤如下: 步骤 1:双击桌面上的 Matlab 图标,进入 Matlab 集成环境,在...MATLAB 在医学图像处理中的应用 13 级信息管理及信息系统
王志群 摘要:随着科学技术的发展,光学、数学、电子学、计算机科学、信息论、人工智能等各 门...龙源期刊网 http://www.qikan.com.cn 数字图像处理中 Matlab 的应用实例 作者:吕敬兰 来源:《读写算? 教研版》2016 年第 02 期 摘要:图像是人类赖以获取...数学与计算机科学学院学生实验报告 课程名称: 学号: 班级: 姓名: 实验日期: 年月日 指导教师: 一、实验名称 Matlab 在数字图像处理中的应用基础 二、实验目的 1...Matlab在图像处理与目标识别方面的应用_工学_高等教育_教育专区。Matlab在图像处理与目标识别方面的应用实验 Matlab 在图像处理与 目标识别方面 方面的应用实验 目标...MATLAB中GUI在图像处理应用中的设计(包括各种算法)_IT/计算机_专业资料。MATLAB中GUI在图像处理应用中的设计(包括各种算法),用matlab设计一个软件,可以用这个软件实现...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 参数是什么意思 的文章

 

随机推荐