91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

用matlab實(shí)現(xiàn)了基于乘積量化的快速sift特征匹配,相比于傳統(tǒng)的特征比配方法,提高了匹配的速度。

資源截圖

代碼片段和文件信息

clear;?
close?all;
clc;
%?加載用于訓(xùn)練的sift描述子向量
load?siftTrain.mat;

%?將用于訓(xùn)練的sift描述子向量均分為16段,每段8維
sub_vector?=?cell(161);
for?i?=?1?:?16
????sub_vector{i}?=?siftDescriptorTrain((i-1)*8+1:8*i:);
end

C?=?cell(161);
Idx?=?cell(161);
opts?=?statset(‘MaxIter‘300);
%?對(duì)每一段進(jìn)行k-means聚類,k=64
for?i?=?1?:?16
????[Idx{i}??C{i}]?=?kmeans(sub_vector{i}‘64‘Options‘opts);
end

dist?=?cell(161);
for?i?=?1?:?16
????dist{i}?=?zeros(6464);
end

%?生成16個(gè)distance?matrix
for?i?=?1?:?16
????for?j?=?1?:?64
????????tmpFeat?=?repmat(C{i}(j:)?64?1);
????????dist{i}(j:)?=?(sum((tmpFeat?-?C{i}).^22))‘;
????end
end

%tic

%%?Load?two?images?and?their?SIFT?features
src_1?=?‘./test?images/ukbench00000.jpg‘;
src_2?=?‘./test?images/ukbench00003.jpg‘;
ext1?=?‘.dsift‘;?%‘.vsift_640‘;?%?extension?name?of?SIFT?file
ext2?=?‘.dsift‘;?%‘.vsift_640‘;?%?extension?name?of?SIFT?file
siftDim?=?128;

%%?load?image?
im_1?=?imread(src_1);
im_2?=?imread(src_2);

%%?讀取sift特征
featPath_1?=?[src_1?ext1];
featPath_2?=?[src_2?ext2];

fid_1?=?fopen(featPath_1?‘rb‘);
featNum_1?=?fread(fid_1?1?‘int32‘);?%??????SIFT?????????
SiftFeat_1?=?zeros(siftDim?featNum_1);?
paraFeat_1?=?zeros(4?featNum_1);
for?i?=?1?:?featNum_1?%???????SIFT????
????SiftFeat_1(:?i)?=?fread(fid_1?siftDim?‘uchar‘);?%?????128???????
????paraFeat_1(:?i)?=?fread(fid_1?4?‘float32‘);?????%?????[x?y?scale?orientation]???
end
fclose(fid_1);

fid_2?=?fopen(featPath_2?‘rb‘);
featNum_2?=?fread(fid_2?1?‘int32‘);?%??????SIFT?????????
SiftFeat_2?=?zeros(siftDim?featNum_2);
paraFeat_2?=?zeros(4?featNum_2);
for?i?=?1?:?featNum_2?%???????SIFT????
????SiftFeat_2(:?i)?=?fread(fid_2?siftDim?‘uchar‘);?%?????128???????
????paraFeat_2(:?i)?=?fread(fid_2?4?‘float32‘);?????%?????[x?y?scale?orientation]???
end
fclose(fid_2);

%%?將第一張待匹配圖像的sift特征向量分為16段
feat1_vector?=?cell(161);
for?i?=?1?:?16
????feat1_vector{i}?=?SiftFeat_1((i-1)*8+1:8*i:);
end

%%?判斷待匹配圖像的每個(gè)特征向量的每一段各屬于哪一類
minposition?=?zeros(16?featNum_1);?
for?i?=?1?:?16
????for?j?=1?:?featNum_1
????????tmpFeat?=?repmat(feat1_vector{i}(:j)164);
????????d1?=?sum((tmpFeat?-?C{i}‘).^2);?%?distance
????????minposition(ij)?=?find(d1==min(d1));
????end
end

%%?將第二張待匹配圖像的sift特征向量分為16段
feat2_vector?=?cell(161);
for?i?=?1?:?16
????feat2_vector{i}?=?SiftFeat_2((i-1)*8+1:8*i:);
end

%%?判斷待匹配圖像的每個(gè)特征向量的每一段各屬于哪一類
minposition2?=?zeros(16?featNum_2);?
for?i?=?1?:?16
????for?j?=1?:?featNum_2
????????tmpFeat?=?repmat(feat2_vector{i}(:j)164);
????????d1?=?sum((tmpFeat?-?C{i}‘).^2);?%?distance
????????minposition2(ij)?=?find(d1==min(d1));
????end
end

%%?在feat2中找離feat1的距離滿足一定條件的特征,構(gòu)成匹配
matchInd?=?zeros(featNum_1?1);
matchDis?=?zeros(featNum_1?1);
for?i?=?1?:?featNum_1
????d?=?zeros(1featNum_2);
????for?k?=?1?:?16
????????d(1?:?featNum_2)?=?d(1?:?featNum_2)?+dist{k}(?minposition(ki)??minposition2(k1?:?featNum_2)?);
????end
????matchDis(i)?=?min(d);
????[v?ind]?=?sort(d);
????if?v(1)?/?v(2)?<=?0.64
????????matchInd(i)?=?ind(1);
????end
end


%%?可視化
[row?col?cn]?=?siz

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-11-15?15:42??test?images\
?????文件??????243673??2013-12-05?23:17??test?images\ukbench00000.jpg
?????文件??????696244??2014-03-16?05:45??test?images\ukbench00000.jpg.dsift
?????文件??????246526??2013-12-05?23:17??test?images\ukbench00001.jpg
?????文件??????545332??2014-03-16?05:45??test?images\ukbench00001.jpg.dsift
?????文件??????218653??2013-12-05?23:17??test?images\ukbench00002.jpg
?????文件??????741028??2014-03-16?05:45??test?images\ukbench00002.jpg.dsift
?????文件??????269422??2013-12-05?23:17??test?images\ukbench00003.jpg
?????文件??????674068??2014-03-16?05:46??test?images\ukbench00003.jpg.dsift
?????文件??????152703??2013-12-05?23:17??test?images\ukbench00012.jpg
?????文件??????154228??2014-03-16?05:46??test?images\ukbench00012.jpg.dsift
?????文件??????155830??2013-12-05?23:17??test?images\ukbench00013.jpg
?????文件??????154948??2014-03-16?05:46??test?images\ukbench00013.jpg.dsift
?????文件??????175983??2013-12-05?23:17??test?images\ukbench00014.jpg
?????文件??????103828??2014-03-16?05:46??test?images\ukbench00014.jpg.dsift
?????文件??????168753??2013-12-05?23:17??test?images\ukbench00015.jpg
?????文件??????107284??2014-03-16?05:46??test?images\ukbench00015.jpg.dsift
?????文件??????153642??2006-10-05?01:11??test?images\ukbench00052.jpg
?????文件??????140404??2014-03-16?05:47??test?images\ukbench00052.jpg.dsift
?????文件??????160703??2006-10-05?01:11??test?images\ukbench00053.jpg
?????文件??????149332??2014-03-16?05:47??test?images\ukbench00053.jpg.dsift
?????文件??????144807??2006-10-05?01:11??test?images\ukbench00054.jpg
?????文件??????153508??2014-03-16?05:47??test?images\ukbench00054.jpg.dsift
?????文件??????151801??2006-10-05?01:11??test?images\ukbench00055.jpg
?????文件??????139252??2014-03-16?05:47??test?images\ukbench00055.jpg.dsift
?????文件??????172114??2006-10-05?01:11??test?images\ukbench00080.jpg
?????文件??????114628??2014-03-16?05:48??test?images\ukbench00080.jpg.dsift
?????文件??????181878??2006-10-05?01:11??test?images\ukbench00081.jpg
?????文件??????135940??2014-03-16?05:48??test?images\ukbench00081.jpg.dsift
?????文件??????154145??2006-10-05?01:11??test?images\ukbench00082.jpg
?????文件??????162436??2014-03-16?05:48??test?images\ukbench00082.jpg.dsift
............此處省略13個(gè)文件信息

評(píng)論

共有 條評(píng)論