提取图像灰度信息—>利用均值哈希算法得到图像的二值编码—>计算汉明距离判断图像相似性—>得到最终检索结果
代码下载:https://download.csdn.net/download/jingjingliang1995/11120518
代码基于matlab实现:
%ahash.m
%利用均值哈希对图像进行哈希编码
%建立哈希表Tahash:
%Tahash{i, 1}:图像名字
%Tahash{i, 2}:图片哈希码
%Tahash{i, 3}:与查询图片汉明距离
clc;clear all;
path_imgDB = './database_ggjt'; %图像库路径
addpath(path_imgDB);
imgFiles = dir(path_imgDB); %读取图像库信息
imgNamList = {imgFiles(~[imgFiles.isdir]).name}; %读取图像库图片名字
clear imgFiles;
imgNamList = imgNamList';
numImg = length(imgNamList); %图片数量
%均值哈希编码
for i = 1:numImg
code_ahash=Perceptual_ahash_algorithm(imgNamList{i, 1});
Tahash{i, 1} = imgNamList{i, 1};
Tahash{i, 2} = code_ahash;
end
%计算汉明距离
quary_id = 10; %查询图像ID
quary_Code = Tahash{quary_id, 2};
for i = 1: numImg
A_dist_Hamming = xor(quary_Code,