加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

图像相似性搜索的原理

发布时间:2021-03-18 17:49:11 所属栏目:大数据 来源:网络整理
导读:本文转自: http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.html http://www.voidcn.com/article/p-nvcdxgfv-bnx.html http://blog.sina.com.cn/s/blog_b27f71160101gp9c.html http://www.voidcn.com/article/p-ojqegjmq-wy.html

关于均值哈希算法的实现,请参考:Google?以图搜图?-?相似图片搜索原理?-?Java实现http://blog.csdn.net/luoweifu/article/details/7733030


下面给出matlab实现平均哈希算法(aHash)

%http://blog.sina.com.cn/s/blog_b27f71160101gp9c.html
%输入两幅图片,返回值为它们的为汉明距离。
%相似图片搜索原理:平均哈希算法
%对两幅图分别作如下处理:
%1:将两副256等级的灰度图像转化成8x8大小的64等级的灰度图像
%2:求全局灰度平均值
%3:逐次将灰度值与平均灰度值比较,大于等于的置为1,否则置为0
%4:将0、1序列看做8个字节(统一顺序)
%5:比较两幅图的数据位,如果不同的数据为不超过5位,则非常相似,若超过10为则认为两幅图无关
function v=tineyesearch_ahash(picture1,picture2)
t1=imresize(picture1,[8 8],'bicubic'); %图片放缩到固定大小
t2=imresize(picture2,'bicubic'); %图片放缩到固定大小
t1=round(t1/4);
t2=round(t2/4);
mem1=round(sum(sum(t1))/64);
mem2=round(sum(sum(t2))/64);
for i=1:8
    for j=1:8
        if t1(i,j)>=mem1
            t1(i,j)=1;
        else
            t1(i,j)=0;
        end
        if t2(i,j)>=mem2
            t2(i,j)=1;
        else
            t2(i,j)=0;
        end
    end
end
h=abs(t1-t2);
v=sum(sum(h));

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读