- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连理工大学实验报告
学院(系): 电信学部专业:电子信息工程 班级: 电子1102姓名: 陈柯锦学号: 2组:___实验时间:实验室:实验台:实验名称 基于边缘直方图的图像检索
实验目的和要求
掌握用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:\MATLAB7\work\pictures);
% 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:3for j=0:3mypic_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:\MATLAB7\work\pictures);
apath=dir;
for k=3:62name=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:3for j=0:3pic_
文档评论(0)