大连理工大学数字图像处理 实验报告4[全文]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数字图像处理实验报告”。
大连理工大学实验报告
学院(系):
电信学部
专业:
电子信息工程
班级:
电子1102
姓
名:
陈柯锦
学号:
201181442
组:
___
实验时间:
实验室:
实验台:
实验名称 基于边缘直方图的图像检索
一、实验目的和要求
掌握用matlab进行图像检索的方法。
二、实验原理和内容
通常情况下,人类可以在只用图像的轮廓而不借助图像的颜色以及纹理信息的情况下就可以对一幅图像中的物体进行分类和识别。因而,研究图像轮廓信息的表达方式是十分必要的。
1.EHD描述子
边缘直方图(EHD)描述子是MPEG-7标准中提出的一种边缘描述子,它具有描述图像亮度变化的方向和频率的能力。其具体算法原理如下。
(1)对图像分块
当给定一张图像时,不重叠地将其分成4*4的子图,且每一子图继续分成若干不重叠的方形子块。在这一过程中,不论图像的大小,均将每一子图划分成数量一定的子块。这样做的目的是去除图像的大小(即分辨率)对特征的影响。通常情况下,每一子图中子块的数量是2的倍数,因而在某些情况下可能要舍弃边缘的像素点以满足条件。(2)判断每一子块是否包含边缘
当给定图像子块之后,若要判断该子块中是否包含边缘特征,一种简单的办法是对图像在空域利用滤波器进行滤波。在EHD特征中,统计以下五种形式的边缘特征:垂直(0°)、水平(90°)、45毒角、135°角以及非方向性边缘。如图1所示。
(3)统计边缘信息
通过以上步骤,可以判断出图像子块中是否包含边缘信息,下面要对这些边缘信息做以统计。在前面提到了在EHD描述子中将图像划分成4×4的16个子图,在这里对每一子图统计5个方向上各自包含的子块的个数,从而构成一个5维的向量。接着,对该向量进行归一化,即对向量的每一维均除以该子图中子块的数量。从而,一张图像便可以由一个80维的向量表示。到这里,EHD特征的基本生成过程已经完毕。
三、主要仪器设备
装有MATLAB的电脑。
四、实验步骤
完成基于EHD的图像检索。
五、实验数据记录和处理
程序:
clc,clear all fv=[1-1 1-1];fh=[1 1-1-1];fd45=[sqrt(2)0 0-sqrt(2)];fd135=[0 sqrt(2)-sqrt(2)0];fnd=[2-2-2 2];fv_th=30;fh_th=30;fd45_th=30;fd135_th=30;fnd_th=30;% cd('d:MATLAB7workpictures');% apath=dir;% name=apath(3,1).name;%以下对目标图片进行特征分析 mypic=imread('55.jpg');mypic=double(rgb2gray(mypic));[a,b]=size(mypic);;a=floor(a/4);b=floor(b/4);for i=0:3
for j=0:3
mypic_part=mypic(i*a+1:i*a+a,j*b+1:j*b+b);
m1=sum(sum(mypic_part(1:floor(a/2),1:floor(b/2))))/(a*b/4);
m2=sum(sum(mypic_part(1:floor(a/2),floor(b/2)+1:b)))/(a*b/4);
m3=sum(sum(mypic_part(floor(a/2)+1:a,1:floor(b/2))))/(a*b/4);
m4=sum(sum(mypic_part(floor(a/2)+1:a,floor(b/2)+1:b)))/(a*b/4);
mypic_mat(4*i+j+1,1)=([m1 m2 m3 m4]*fv')>fv_th;
mypic_mat(4*i+j+1,2)=([m1 m2 m3 m4]*fh')>fh_th;
mypic_mat(4*i+j+1,3)=([m1 m2 m3 m4]*fd45')>fd45_th;
mypic_mat(4*i+j+1,4)=([m1 m2 m3 m4]*fd135')>fd135_th;
mypic_mat(4*i+j+1,5)=([m1 m2 m3 m4]*fnd')>fnd_th;
end end mypic_mat=double(mypic_mat);%以上对目标图片特征提取完毕 %以下对库中图片分别进行计算 cd('d:MATLAB7workpictures');apath=dir;for k=3:62
name=apath(k,1).name;
pic=imread(name);
pic=double(rgb2gray(pic));
[a,b]=size(pic);;
a=floor(a/4);
b=floor(b/4);
for i=0:3
for j=0:3
pic_part=pic(i*a+1:i*a+a,j*b+1:j*b+b);
m1=sum(sum(pic_part(1:floor(a/2),1:floor(b/2))))/(a*b/4);
m2=sum(sum(pic_part(1:floor(a/2),floor(b/2)+1:b)))/(a*b/4);
m3=sum(sum(pic_part(floor(a/2)+1:a,1:floor(b/2))))/(a*b/4);
m4=sum(sum(pic_part(floor(a/2)+1:a,floor(b/2)+1:b)))/(a*b/4);
pic_mat(4*i+j+1,1)=([m1 m2 m3 m4]*fv')>fv_th;
pic_mat(4*i+j+1,2)=([m1 m2 m3 m4]*fh')>fh_th;
pic_mat(4*i+j+1,3)=([m1 m2 m3 m4]*fd45')>fd45_th;
pic_mat(4*i+j+1,4)=([m1 m2 m3 m4]*fd135')>fd135_th;
pic_mat(4*i+j+1,5)=([m1 m2 m3 m4]*fnd')>fnd_th;
end
end
pic_mat=double(pic_mat);
result(k-2)=sqrt(sum(sum((mypic_mat-pic_mat).^2)));end %以上对库中所有图片特征提取结束 min1=find(result==min(result))+2;if(length(min1)>1)min1=min1(1);end result(min1-2)=100000;min2=find(result==min(result))+2;if(length(min2)>1)min2=min2(1);end result(min2-2)=100000;min3=find(result==min(result))+2;if(length(min3)>1)min3=min3(1);end subplot(2,2,1)imshow(uint8(mypic))title('待检索图像')cd('d:MATLAB7workpictures');apath=dir;subplot(2,2,2)imshow(imread(apath(min1,1).name))title('最相近图像')subplot(2,2,3)imshow(imread(apath(min2,1).name))title('第二相近的图像')subplot(2,2,4)imshow(imread(apath(min3,1).name))title('第三相近的图像')
六、实验结果
模板图像最相近图像
第二匹配图像第三匹配图像
昆明理工大学(数字图像处理)实验报告实验名称图像的基本变换 实验时间 2014 年 3 月 20 日 专业班级 学 号 姓 名成 绩 教师评语:一、实验目的与要求 1.熟悉及掌握在MATLAB中......
数字图像处理实验报告数字图像处理实验报告1一. 实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等......
刀豆文库小编为你整合推荐8篇数字图像处理实验报告,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
刀豆文库小编为你整合推荐8篇数字图像处理实验报告,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
实 验 报 告 书系部学生专业班实验 名称姓名名称 级时间:: : : :实验一 直方图均衡一、实验目的在学习图像直方图的概念、计算方法、性质和相关应用基础上,生成、绘制图像的直方......