您好,欢迎访问三七文档
1.写出至少3种图像平滑算法,说明每种方法的优、缺点和适用的情况。1)均值滤波法:均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。优点:简单,易于操作。缺点:它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。使用情况:适用于去除通过扫描得到的图像中的颗粒噪声。2)中值滤波法:中值滤波法是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值。优点:可以清除孤立的噪声点,既能去除噪声,又能很好的保护边缘图像,得到比较满意的复原效果。缺点:不适合处理细节多的图像。使用情况:滤除图像的椒盐噪声。3)加权平均滤波法::加权平均滤波是对移动平均滤波的改进,不同时刻采样的数据乘以不同的权,越接近现时刻的数据,权越大。优点:即使图像中的噪声影响得到抑制,又不对图像的边界和细节有明显的影响。缺点::对于纯滞后时间常数较小、采样周期较长、缓慢变化的信号,滤波效果差。使用情况::该算法比较适用于有较大纯滞后时间常数的对象。2.说明直方图均衡化和直方图规定化的实现过程。1)直方图均衡化实现步骤:(1).列出原始图像的灰度级(fj)(2)统计各灰度级的像素数目(3)计算原始图像直方图各灰度级的频数(4)计算累积分布函数(5).应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数(gi)(6)统计映射后各灰度级的像素数目(7)计算输出直方图(8)用fj和gi的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像2)直方图规定化的实现步骤:令Pr(r)和Pz(z)分别为原始图像和期望图像的灰度概率密度函数,如果对原始图像和期望图像均作直方图均衡化处理,则有:(1)(2)(3)由于都是进行直方图均衡化处理,处理后的原图像概率密度函数Ps(s)及期望图像的概率密度函数Pv(v)是相等的。于是,我们可以用变换后的原始图像灰度级s代替式(3)中的v。即:Z=G-1(S)对连续图像,重要的是给出逆变换解析式。对于离散图像,相应的规定化表达式为:其中n表示图像中像素的总数,nk是在图像中出现这种灰度级的次数,L表示灰度级的数目,Pr(rk)为第k级灰度级的概率。以上各式表明,一幅图像决定出T(r)与反变换函数Z=G-1(v),便可以进行直方图规定化处理。(1)将原始图像作直方图均衡化处理,求出原始图像中的第一个灰度级ri所对应的变换函数si;(2)对给定直方图作类似计算,得到理想图像每一个灰度级ri对应的变换函数vi;(3)找出vi=si的点,并映射到zi;(4)求出Pz(zi)。3.滤波域图像滤波,说出高通、带通滤波器的功能,对于这两种类型,至少每类举出三种滤波器,,比较它们各自的优、缺点。高通滤波器的功能:高通滤波器是一个使高频率比较容易通过而阻止低频率通过的系统。它去掉了信号中不必要的低频成分或者说去掉了低频干扰。其特性在时域及频域中可分别用冲激响应及频率响应描述高通滤波器种类:1)无源高通滤波器优点:电路比较简单,不需要直流电源供电,可靠性高缺点:通带内的信号有能量损耗,负载效应比较明显,使用电感元件时容易引起电磁感应,当电感L较大时滤波器的体积和重量都比较大,在低频域不适用。2)有源高通滤波器优点:通带内的信号不仅没有能量损耗,而且还可以放大,负载效应不明显,多级相联时相互影响很小,利用级联的简单方法很容易构成高阶滤波器,并且滤波器的体积小、重量轻、不需要磁屏蔽(由于不使用电感元件)。缺点::通带范围受有源器件(如集成运算放大器)的带宽限制,需要直流电源供电,可靠性不如无源滤波器高,在高压、高频、大功率的场合不适用。3)一阶高通滤波器优点:结构简单,易于操作。缺点:阻带特性衰减太慢,为⒛dB/10oct,所以这种电路只适用于对滤波特性要求不高的场合。带通滤波器功能:带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器。带通滤波器种类:1)无线增益带通滤波器:2)有源带通滤波器:3)无源带通滤波器:4.现黑色桌面上有1元,5角,1角硬币各若干,他们彼此分开,互不相连,请设计算法统计桌面硬币总面值。形状大小识别法基本原理:不同币值硬币尺寸不同,再换算到面积上则相差更大,因而可以通过计算图像尺寸(像素数)来识别。过程:1.采集原始的灰度图像;2.滤波处理;3.用阈值分割得到硬币二值化图像;4.滤波掉上图中的一些和硬币不相关的杂质和噪声;5.提取出硬币的形状大小和位置信息,这里提取的是硬币的面积;6.分类决策(值比较);7.统计个数和面值。5.请分别给出不少于三种直线、圆检测的算法,说明方法的每种方法的主要过程。1)霍夫变换:首先,我们初始化一块缓冲区,对应于参数平面,将其所有数据置为0。对于图像上每一前景点,求出参数平面对应的直线,把这直线上的所有点的值都加1。最后,找到参数平面上最大点的位置,这个位置就是原图像上直线的参数。就是把图像平面上的点对应到参数平面上的线,最后通过统计特性来解决问题。假如图像平面上有两条直线,那么最终在参数平面上就会看到两个峰值点,依此类推。2)LSD算法:(1)以s=0.8的尺度对输入图像进行高斯下采样。(2)计算每一个点的梯度值以及梯度方向(level-lineorientation)。3.根据梯度值对所有点进行伪排序(pseudo-ordered),建立状态列表,所有点设置为UNUSED。4.将梯度值小于ρ的点状态表中相应位置设置为USED。5.取出列表中梯度最大(伪排列的首位)的点作为种子点(seed),状态列表中设为USED。a.以seed为起点,搜索周围UNUSED并且方向在阈值[-t,t]范围内的点,状态改为USED。b.生成包含所有满足点的矩形R。c.判断同性点(alignedpt)密度是否满足阈值D,若不满足,截断(cut)R变为多个矩形框,直至满足。d.计算NFAe.改变R使NFA的值更小直至NFA=ε,R加入输出列表。3)Hough变换:(1)对图片预处理,这里必须说明的是,纯种的Hough变换只适应黑白图片,换句话说,在使用它之前,你已经提取出该图片的边缘了。(2)找到图片中的“黑点”也就是要处理的边缘,假设其在直角坐标系的下标为(x,y),对其进行坐标变换ρ=x*cosθ+y*sinθ,其中0θ2*pi。当然,在实际的操作中,θ要转变为离散的数组θ1、θ2……θj,ρ也就是相应的有ρ1、ρ2……ρj。(3)判断(ρj,θj)与哪个数组元素对应,并让该数组元素加1。(4)比较数组元素值的大小,最大值对应的(ρj,θj)就是这些共线点对应的直线方程的参数。共线方程为:ρj=xcosθj+ysinθj6.请尽可能恢复下面图像中的文字,请给出程序和实验结果。算法:利用移动平均的图像阈值处理functiong=movingthresh(f,n,K)f=tofloat(f);[M,N]=size(f);%图片的大小if(n1)||(rem(n,1)~=0)error('nmustbeaninteger=1.')endifK0||K1error('Kmustbeafractionintherange[0,1].')endf(2:2:end,:)=fliplr(f(2:2:end,:));f=f';f=f(:)';maf=ones(1,n)/n;ma=filter(maf,1,f);g=fK*ma;g=reshape(g,N,M)';%Flipalternaterowsback.g(2:2:end,:)=fliplr(g(2:2:end,:));f=imread('Fig(1).tif');T=graythresh(f);g2=movingthresh(f,20,0.5);figure,imshow(g2)7请设计一个检测下图裂痕的图像处理算法,并写出程序验证你的方法。算法:采用区域生长处理function[g,NR,SI,TI]=regiongrow(f,S,T)f=tofloat(f);ifnumel(S)==1SI=f==S;S1=S;elseSI=bwmorph(S,'shrink',Inf);S1=f(SI);%Arrayofseedvalues.endTI=false(size(f));forK=1:length(S1)seedvalue=S1(K);S=abs(f−seedvalue)=T;%Re-usevariableS.TI=TI|S;end[g,NR]=bwlabel(imreconstruct(SI,TI));%我们令S=1(所有的S值必须标定为[0,1]范围内)%,我们令阈值等于65(当标定为[0,1]范围内时,值是0.26)[g,NR,SI,TI]=regiongrow(f,1,0.26);结果:与原始图像进行比较,,区域生长过程确实以合理的精确度分割了焊接的缺陷。可以通过画直方图验证。
本文标题:图像处理作业答案
链接地址:https://www.777doc.com/doc-2558471 .html