图像处理作业答案
- 格式: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);
结果:与原始图像进行比较,,区域生长过程确实以合理的精确度分割了焊接的缺陷 可以通过画直方图验证。