• 大小: 22.07MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-01
  • 语言: Matlab
  • 标签:

资源简介

参考网上博客的感知哈希算法的理论知识,实现基本的感知哈希算法,内有几张图片用来测试,程序可参考。

资源截图

代码片段和文件信息

%参考博客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  Hash\1.jpg
     文件     6023832  2017-11-11 23:31  Hash\2.jpg
     文件     6027733  2017-11-11 23:31  Hash\3.jpg
     文件     5166372  2017-11-11 23:32  Hash\4.jpg
     文件        1009  2017-11-12 21:03  Hash\Hash.m
     文件       13227  2017-10-26 15:17  Hash\lana.jpg
     文件      125388  2003-05-03 21:53  Hash\liftingbody.png

评论

共有 条评论