资源简介
哈希图像检索,包括LSH以及ITQ两种算法。之前帮网友做的,顺带分享一下。
代码片段和文件信息
% 功能:数据库抽样可视化
% 版本:2017.4.11
%% 加载 cifar10 数据
close all;clear;clc
load (‘./datasets/old/cifar-10-batches-mat/data_batch_1.mat‘);
data1=data;
labels1=labels;
clear data labels;
load (‘./datasets/old/cifar-10-batches-mat/data_batch_2.mat‘);
data2=data;
labels2=labels;
clear data labels;
load (‘./datasets/old/cifar-10-batches-mat/data_batch_3.mat‘);
data3=data;
labels3=labels;
clear data labels;
load (‘./datasets/old/cifar-10-batches-mat/data_batch_4.mat‘);
data4=data;
labels4=labels;
clear data labels;
load (‘./datasets/old/cifar-10-batches-mat/data_batch_5.mat‘);
data5=data;
labels5=labels;
clear data labels;
load (‘./datasets/old/cifar-10-batches-mat/test_batch.mat‘);
data6=data;
labels6=labels;
clear data labels;
% 图片数据以及对应的labels
database = [data1 labels1; data2 labels2; data3 labels3; data4 labels4; data5 labels5; data6 labels6];
cifar10labels = [labels1; labels2; labels3;labels4; labels5; labels6];
%% 可视化方案1:按类别进行抽样展示
[sortedLabels index] = sort(cifar10labels); % 类别从小到达排序
dataInClass = database(index :); % 根据类别对数据排序
% clear database;
numImg = length(cifar10labels); % 统计图片总数目
numPerClass = numImg/length(unique(cifar10labels)); % 统计每类含有的图片数目
numShow = 100; % 设定抽样展示的图片总数
numInRow = 10; % 设定每行展示的图片总数
% 32*32:图像大小
% 3:图像是RGB三通道
% I2: 4维的矩阵,前三维是 32*32*3 的图片,第四维度是图像数目
I2 = uint8(zeros(32 32 3 numShow));
for i=1:numInRow
randID = randi(numPerClass numInRow 1); % 随机生成 numInRow 个索引
index = randID + (i-1)*numPerClass; % 每类被选取出来的图片索引
for j=1:length(index)
image_r=dataInClass(index(j:)1:1024); % 红色通道:1024位
image_g=dataInClass(index(j:)1025:2048); % 绿色通道:1024维
image_b=dataInClass(index(j:)2049:end-1); % 蓝色通道:1024维
image_rer = reshape(image_r 32 32); % 红色通道变形成 32*32 大小
image_reg = reshape(image_g 32 32); % 绿色通道变形成 32*32 大小
image_reb = reshape(image_b 32 32); % 蓝色通道变形成 32*32 大小
% R、G、B三通道融合,变成RGB彩色图片
image(: : 1) = image_rer‘;
image(: : 2) = image_reg‘;
image(: : 3) = image_reb‘;
% 将数据类型转换成:无符号8位整型
image = uint8(image);
% 将处理好的图片存放在I2变量中
I2(: : : j+(i-1)*numInRow) = image;
end
end
% 画图
figure(‘Color‘ [1 1 1]); hold on;
montage(I2(: : : :));
xlabel(‘sampling by labels‘);
set(get(gca‘xlabel‘)‘FontName‘‘Times New Roman‘);
%% 可视化方案2:随机进行抽样展示
numImg = length(cifar10labels); % 统计图片总数目
numPerClass = numImg/length(unique(cifar10labels)); % 统计每类含有的图片数目
numShow = 100; % 设定抽样展示的图片总数
numInRow = 10; % 设定每行展示的图片总数
numInColum = numShow/numInRow; % 设定每列展示的图片总数
% 32*32:图像大小
% 3:图像是RGB三通道
% I2: 4维的矩阵,前三维是 32*32*3 的图片,第四维度是图像数目
I2 = uint8(zeros(32 32
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4145 2017-04-11 19:05 myprojects\demo1_data_visualization.m
文件 1367 2017-04-11 16:44 myprojects\demo2_gist_visualization.m
文件 2296 2017-04-11 19:05 myprojects\demo3_gist_extraction.m
文件 2320 2017-04-11 19:25 myprojects\demo4_data_process.m
文件 2861 2017-04-11 20:20 myprojects\demo5_img_generation.m
文件 2932 2017-04-12 15:26 myprojects\demo6_LSH_retrieval.m
文件 2613 2017-04-12 15:26 myprojects\demo7_ITQ_retrieval.m
文件 638 2011-04-08 09:43 myprojects\methods\ITQ\compressITQ.m
文件 2211 2013-12-20 16:23 myprojects\methods\ITQ\evaluate_ITQ.m
文件 1059 2013-03-01 15:51 myprojects\methods\ITQ\ITQ.m
文件 302 2013-02-28 20:58 myprojects\methods\ITQ\trainITQ.m
文件 304 2010-11-02 10:25 myprojects\methods\LSH\compressLSH.m
文件 2453 2013-08-16 15:02 myprojects\methods\LSH\evaluate_LSH.m
文件 3276 2010-11-02 10:10 myprojects\methods\LSH\lshfunc.m
文件 1038 2008-11-11 01:45 myprojects\methods\LSH\processRange.m
文件 522 2009-11-21 02:21 myprojects\tools\gist\imresizecrop.m
文件 8240 2011-12-12 06:20 myprojects\tools\gist\LMgist.m
文件 1954 2011-12-12 05:53 myprojects\tools\gist\showGist.m
文件 31372 2017-04-11 16:27 myprojects\tools\gist\test1.jpg
文件 245020 2017-04-11 16:28 myprojects\tools\gist\test2.jpg
文件 1028531 2017-04-11 16:30 myprojects\tools\gist\test3.jpg
文件 293 2010-09-28 15:46 myprojects\tools\utils\compactbit.m
文件 474 2015-06-11 06:35 myprojects\tools\utils\distMat.m
文件 1450 2013-08-09 21:05 myprojects\tools\utils\eva_lookup.m
文件 944 2010-10-25 17:37 myprojects\tools\utils\eva_lookup1.m
文件 1603 2014-02-27 15:52 myprojects\tools\utils\eva_ranking.m
文件 773 2013-06-08 14:48 myprojects\tools\utils\eva_ranking1.m
文件 224 2010-10-25 15:21 myprojects\tools\utils\extractbit.m
文件 1575 2013-08-10 01:02 myprojects\tools\utils\gendata.m
文件 1510 2010-10-20 15:59 myprojects\tools\utils\hammingDist.m
............此处省略20个文件信息
- 上一篇:matlab时频分析工具箱tftb-0.2
- 下一篇:MATLAB在电气工程中的应用
评论
共有 条评论