图像处理作业答案

  • 格式:docx
  • 大小:20.72 KB
  • 文档页数:6

(2)

(3)

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)分别为原始图像和期望图像的灰度概率密度函数, 如果对原始图像和

期望图像均作直方图均衡化处理,则有:

£="2 [耿)dr( 1)

V = 二 f E (z)dz z = (v)由于都是进行直方图均衡化处理,处理后的原图像概率密度函数 Ps(s)及期望图像的

概率密度函数Pv(v)是相等的。于是,我们可以用变换后的原始图像灰度级 s代替式

⑶中的v。即:

Z=G-1(S)

对连续图像,重要的是给出逆变换解析式。对于离散图像,相应的规定化表达式为:

JP = — F0

珂二 G"(耳)二

其中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 )有源高通滤波器

优点:通带内的信号不仅没有能量损耗,而且还可以放大,负载效应 不明显,多级相联时相互影响很小,禾U用级联的简单方法很容易构成高阶滤波器,并 且滤波器的体积小、重量轻、不需要磁屏蔽(由于不使用电感元件)。

缺点::通带范围受有源器件(如集成运算放大器)的带宽限制,需要

直流电源供电,可靠性不如无源滤波器高,在高压、高频、大功率的场合不适用。

3 )一阶高通滤波器

优点:结构简单,易于操作。

缺点:阻带特性衰减太慢,为20. dB/ 10oct,所以这种电路只适用于对滤波特

性要求不高的场合。 带通滤波器功能:带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的

频率分量衰减到极低水平的滤波器。

1)无线增益带通滤波器:

)有源带通滤波器:

)无源带通滤波器:

1元,5角,1角硬币各若干,他们彼此分开,互不相连,请设计算法统计桌面

硬币总面值。

形状大小识别法

基本原理:不同币值硬币尺寸不同,再换算到面积上则相差更大, 因而可以通过计算图像尺寸(像

素数)来识别。

过程:1.采集原始的灰度图像;

2. 滤波处理;

3. 用阈值分割得到硬币二值化图像;

4. 滤波掉上图中的一些和硬币不相关的杂质和噪声;

5. 提取出硬币的形状大小和位置信息,这里提取的是硬币的面积;

6. 分类决策(值比较);

7. 统计个数和面值。

5•请分别给出不少于三种直线、圆检测的算法,说明方法的每种方法的主要过程。

1 )霍夫变换:首先,我们初始化一块缓冲区,对应于参数平面,将其所有数据置为 0。

对于图像上每一前景点,求出参数平面对应的直线,把这直线上的所有点的值都加 1。最后,找

到参数平面上最大点的位置,这个位置就是原图像上直线的参数。就是把图像平面上的点对应到 参数平面上的线,最后通过统计特性来解决问题。假如图像平面上有两条直线,那么最终在参数 平面上就会看到两个峰值点,依此类推。

2)LSD算法:(1 )以s=0.8的尺度对输入图像进行高斯下采样。

(2)计算每一个点的梯度值以及梯度方向( level-li ne orien tatio n )。

3. 根据梯度值对所有点进行伪排序( pseudo-ordered ),建立状态列表,所有点设

置为 UNUSED。

4. 将梯度值小于 p的点状态表中相应位置设置为 USED。

5. 取出列表中梯度最大(伪排列的首位)的点作为种子点( seed ),状态列表中设

为 USED。

a.以seed为起点,搜索周围 UNUSED并且方向在阈值[-t, t]范围内的点,状态改 带通滤波器种类:

2

3

4.现黑色桌面上有 为 USED。b.生成包含所有满足点的矩形 R。

c. 判断同性点(aligned pt )密度是否满足阈值 D,若不满足,截断(cut) R变为 多个矩形框,直至满足。

d. 计算NFA

e. 改变R使NFA的值更小直至 NFA <= £ , R加入输出列表。

3) Hough变换:(1)对图片预处理,这里必须说明的是,纯种的 Hough变换只适应黑白图片,

换句话说,在使用它之前,你已经提取出该图片的边缘了。

(2) 找到图片中的 黑点”也就是要处理的边缘, 假设其在直角坐标系的下标为 (x,

y),对其进行坐标变换 p =x*cos 0 +y*sin,其中0< 0 <2*pi。当然,在实际的操作中, B要转变为离 散的数组0 1 0 2……0,j p也就是相应的有 pl、p 2……p°j

(3) 判断(p j,与哪个数组元素对应,并让该数组元素加 1。

(4) 比较数组元素值的大小,最大值对应的(p j,就是这些共线点对应的直线方

程的参数。共线方程为: p j = xcos 0 j + ysin 0j

6. 请尽可能恢复下面图像中的文字,请给出程序和实验结果。

算法:利用移动平均的图像阈值处理

function g = movin gthresh(f, n, K)

f = tofloat (f);

[M, N] = size(f);% 图片的大小

if (n < 1) || (rem(n, 1) ~= 0)

error(' n must be an in teger >= 1.')

end

if K < 0 || K > 1 error('K must be a fractio n in the range [0, 1].') end

f(2:2:end, :) = fliplr(f(2:2:end, :));

f = f;

f = f(:)';

maf = on es(1, n)/n;

ma = filter(maf, 1, f);

g = f > K * ma;

g = reshape(g, N, M)';

% Flip alternate rows back.

g(2:2:end, :) = fliplr(g(2:2:end, :));

f = imread('Fig(1).tif);

T = graythresh (f);

g2 = movi ngthresh(f, 20, 0.5);

figure, imshow(g2)

7请设计一个检测下图裂痕的图像处理算法,并写出程序验证你的方法。

算法:采用区域生长处理

fun ctio n [ g, NR, SI, Tl] = regio ngrow(f, S, T)

f = tofloat (f);

if numel(S) == 1

SI = f == S;

S1 = S;

else

SI = bwmorph(S, 'shri nk', I nf);

S1 = f(SI); % Array of seed values.

end

TI = false(size(f));

for K = 1:le ngth(S1)

seedvalue = S1(K);

S = abs(f - seedvalue) <= T; % Re-use variable S.

TI = TI | S;

end

[g, NR] = bwlabel(imreco nstruct(SI, TI));

%我们令S=1(所有的S值必须标定为[0, 1]范围内)

%我们令阈值等于65(当标定为[0, 1]范围内时,值是0.26)

[g, NR, SI, TI] = regio ngrow(f, 1,0.26);

结果:与原始图像进行比较,,区域生长过程确实以合理的精确度分割了焊接的缺陷 可以通过画直方图验证。