数字图像处理图像编码 下载本文

3.29个描绘子重构的图像4.25个描绘子重构的图像

17

以上为用34,,3,29,25个描绘子重建的图像。使用34个描绘子重建的图像显示的边界与原图像相同,随着所用描述子减少,出现失真。本图像较简单,若是复杂图像,随着描述子减少重建图像的变化趋势为:1.显示稍微平滑一些的边界,但产生的形状与原图像十分接近。2.仅保留了边界的主要特征。3.丢失边界的主要特征,出现失真。

描绘算子应该尽可能的对平移、旋转和缩放等改变不敏感。当结果取决于所处理的点的顺序时,要给它们加一个额外的约束,以便使描绘子对起始点不敏感。傅里叶描绘子虽然对几何变化简介不敏感,但这些参数的变化却与描绘子的简单变化有关。

18

DIP-7 图像匹配

一.题目要求

选择摸板8,将选定模板与10个图实施匹配运算。如果匹配成功,请说明图号和摸板左上角像素在匹配图象所在的坐标。

二.算法分析

设检测对象的模板为t(x,y),令其中心与图像f(x,y)中的一个像素(i,

j)重合,检测t(x,y)和图像重合部分之间的相似度,对图像中所有的像素都进行这样的操作,根据相似度为最大或者超过某一阈值来确定对象物是否

19

存在。本题目中则用到的是普通的模式匹配,即对每一幅图像的每一个像素进行一一的核对。

三.实现代码

clear all

g = imread('D:\\matlab2011\\work\\m08.tif'); [gm,gn] = size(g);

f(1).num = imread('D:\\matlab2011\\work\\p7-01.tif'); f(2).num = imread('D:\\matlab2011\\work\\p7-02.tif'); f(3).num = imread('D:\\matlab2011\\work\\p7-03.bmp'); f(4).num = imread('D:\\matlab2011\\work\\p7-04.tif'); f(5).num = imread('D:\\matlab2011\\work\\p7-05.tif'); f(6).num = imread('D:\\matlab2011\\work\\p7-06.tif'); f(7).num = imread('D:\\matlab2011\\work\\p7-07.tif'); f(8).num = imread('D:\\matlab2011\\work\\p7-08.tif'); f(9).num = imread('D:\\matlab2011\\work\\p7-09.tif'); f(10).num = imread('D:\\matlab2011\\work\\p7-10.tif');

for len = 1:10

[fm,fn] = size(f(len).num);

for i = 1:fm-gm for j = 1:fn-gn flag = 1; for k = 1:gm for t = 1:gn

if g(k,t) ~= f(len).num(i+k,j+t); flag = 0; break; end end if ~flag break; end end if flag break; end end if flag break;

20