Digital Image Processing数字图像处理练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、基本理论与方法

1.简要归纳一下傅里叶变换在〈数学图像处理〉的各章节中都有哪些主要应用,应用了它的哪些性质或特点?对下面图像(checkerboard.tif)进行傅氏变换并平移到中心点.(注:先对图像进行灰度格式转换)

1)1.图像增强与图像去噪:

绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声;边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘;

2.图像分割之边缘检测:

提取图像高频分量

3.图像特征提取:

形状特征:傅里叶描述子

纹理特征:直接通过傅里叶系数来计算纹理特征

其他特征:将提取的特征值进行傅里叶变换来使特征具有平移、伸缩、旋转不变性

4.图像压缩:

可以直接通过傅里叶系数来压缩数据;常用的离散余弦变换是傅立叶变换的实变换;

5.在图像分析和扫描中,用傅里叶子描述区域边界的二维坐标,在纹理分析中,可以用傅里叶颜谱的频率特性来描述周期的或者几乎周期的二维图像模式的方向性。

(2)步骤:

i=imread('checkerboard.tif ');

Di=double(i)/255;%将灰度值转成0-1之间的双精度值

figure,imshow(Di);

fi=fft2(Di);%离散傅氏正变换

figure,imshow(fi);

ifi=ifft2(fi);%反变换

figure,imshow(ifi);

变换后:

2.先对下图进行二层小波变换(注:先将此图像变为索引图像)然后说明,在图像处理中小波变换的主要用途是什么?

(1)小波变换在图像处理中的作用:

小波变换没有频域变量,变换后的函数是尺度和位置参数的函数且仍在空域中,其结果是对原函数的位置和尺度的分解。每一幅小波变换分解图是原函数在位移点的尺度放大或缩小。是一个时间和频率的局域变换,因而能有效的从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析,解决了傅立叶变换不能解决的许多问题。它的特点是压缩比高,压缩速度快,压缩后能保持信号与图像的特征不变,且在传递中可以抗干扰。它还具有多分辨率,也叫多尺度的特点,可以由粗及精的逐步观察信号。

鉴于其特点,小波变换的应用领域十分广泛,包括:数学领域的许多学科、信号分析、图象处理;量子力学、理论物理;军事电子对抗与武器的智能化;计算机分类与识别;音乐与语言的人工合成;医学成像与诊断;地震勘探数据处理;大型机械的故障诊断等方面。

它已用于数值分析、构造快速数值方法、曲线曲面构造、微分方程求解、控制论等。②在信号分析方面的滤波、去噪声、压缩、传递等。③在图象处理方面的图象压缩、分类、识别与诊断、去污等。④在医学成像方面的减少B 超、CT、核磁共振成像的时间、提高分辨率等

(2)matlab代码:

I = imread('cameraman.tif');

subplot(221)

image(I);

title('原图像');

[X,map] = gray2ind(I,128);

nbcol = size(map,1);

cod_X = wcodemat(X,nbcol);

subplot(222)

image(cod_X)

title('索引图像');

colormap(map)

[ca,chd,cvd,cdd] = swt2(X,2,'db2');

for k = 1:2

% Images coding for level k.

cod_ca = wcodemat(ca(:,:,k),nbcol);

cod_chd = wcodemat(chd(:,:,k),nbcol);

cod_cvd = wcodemat(cvd(:,:,k),nbcol);

cod_cdd = wcodemat(cdd(:,:,k),nbcol);

decl = [cod_ca,cod_chd;cod_cvd,cod_cdd];

subplot(2,2,k+2)

image(decl)

title(['SWT dec.: approx. ', ...

'and det. coefs (lev. ',num2str(k),')'],'FontSize',9); colormap(map)

end

3.对下图实施梯度算子边缘检测,假定所给的边界幅度阈值10,请回答:共有多少个像元被定义为边界?并给出边界图像

I=imread('eight.tif');

BW=edge(I,'sobel',0.0392) %10/255=0.0392

imshow(BW);

sum_of_1=sum(sum(BW));

边界像元总数sum_of_1:4234

4、对下图实施(1): 对数变换3*log(x)+5

(2): 求原图中像元亮度超过均值+1.5倍标准差的像元空间分布图

(1)对数变换:

i=imread('alumgrns.tif');

I=mat2gray(i);

J=3*log(I)+5;

imshow(J)

(2)

evalue = mean2(I);

% svalue = std(reshape(I,r*c,1));

svalue = std2(I);

sp_distribute = zeros(r, c);

sp_distribute(find(I>evalue+1.5*svalue)) = 1; figure(2);

imshow(sp_distribute);

相关文档
最新文档