Matlab实现感知哈希算法
标签:
•
文件类型: .zip
•
文件大小: 22.07MB
•
下载次数: 1
•
参考网上博客的感知哈希算法的理论知识,实现基本的感知哈希算法,内有几张图片用来测试,程序可参考。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-11 23:39 Hash
文件 6015243 2017-11-11 23:29 Hash1.jpg
文件 6023832 2017-11-11 23:31 Hash2.jpg
文件 6027733 2017-11-11 23:31 Hash3.jpg
文件 5166372 2017-11-11 23:32 Hash4.jpg
文件 1009 2017-11-12 21:03 HashHash.m
文件 13227 2017-10-26 15:17 Hashlana.jpg
文件 125388 2003-05-03 21:53 Hashliftingbody.png
%参考博客http://blog.csdn.net/haluoluo211/article/details/52769325
clear;
clc;
X1=imread(‘1.jpg‘‘jpg‘);
X2=imread(‘2.jpg‘‘jpg‘);
[x1 y1]=size(X1); %获取长宽
[x2 y2]=size(X2); %获取长宽
resize_width = 9;
resize_height = 8;
small_X1=imresize(X1[8 9]‘bilinear‘); %双线性插值缩小图像
small_X2=imresize(X2[8 9]‘bilinear‘); %双线性插值缩小图像
Hash_X1=size(164);
Hash_X2=size(164);
%
%如果前一个像素的颜色强度大于第二个像素,那么差异值就设置为True(也就是1),如果不大于第二个像素,就设置为False(也就是0)。
%
t=1;
for i=1:8
for j=1:8
if(small_X1(ij) > small_X1(ij+1))
Hash_X1(1t)=1;
else
Hash_X1(1t)=0;
end
if(small_X2(ij) > small_X2(ij+1))
Hash_X2(1t)=1;
else
Hash_X2(1t)=0;
end
t=t+1;
end
end
dHash=0;
for m=1:64
if(Hash_X1(m) ~= Hash_X2(m))
dHash=dHash+1;
end
end
dHash=(64-dHash)/64; %相似度
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-11 23:39 Hash
文件 6015243 2017-11-11 23:29 Hash1.jpg
文件 6023832 2017-11-11 23:31 Hash2.jpg
文件 6027733 2017-11-11 23:31 Hash3.jpg
文件 5166372 2017-11-11 23:32 Hash4.jpg
文件 1009 2017-11-12 21:03 HashHash.m
文件 13227 2017-10-26 15:17 Hashlana.jpg
文件 125388 2003-05-03 21:53 Hashliftingbody.png
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)