参考:http://www.ruanyifeng.com/blog/2013/03/similar_image_search_part_ii.html
获取内容特征图的代码:
%% 内容特征法进行图像搜索
% 原理:将原图转成一张较小的灰度图片,然后,确定一个阈值,将灰度图片转成黑白图片;
% 如果两个图片相似,则黑白图也相似,利用异或运算的结果判断差异大小。
% 关键问题:求解二值化时的阈值,这里使用类间差异最大来获取。
% 类间差异 = w1w2( u1-u2 )^2
clc;
clear all;
% 第一,将图像读入
I=imread('MN.jpg');
figure,imshow(I),title('原始图像');
% 第二、将图像灰度化
img = rgb2gray(I);
% 第三、调整图像大小60*60
gray_s =imresize(img,[60,60]);
figure,imshow(gray_s),title('60*60图像');
gray_s = double(gray_s);
[M,N] = size(gray_s);
%% 第四、二值化图像
% 阈值的计算,使得类间差异 = w1w2( u1-u2 )^2 最大化
% n1表示黑色的像素数; u1灰度值小于阈值的像素的平均值
n1 = 0;
n2 = 0;
sum_u1 = 0;
sum_u2 = 0;
thresh_stat = [];
for i = 1:255
for j = 1:M
for k = 1:N
if gray_s(j,k) < i
n1 = n1 +1;
sum_u1 = sum_u1 + gray_s(j