国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于SIFT算法的圖像匹配

這篇具有很好參考價(jià)值的文章主要介紹了基于SIFT算法的圖像匹配。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

基本概念

尺度不變特征轉(zhuǎn)換(Scale-invariant feature transform,簡(jiǎn)稱SIFT) ,是一種用來偵測(cè)與描述影像中的局部性特征的算法,它在空間尺度中尋找極值點(diǎn),提取位置、尺度、旋轉(zhuǎn)不變量,生成特征描述子。 SIFT算法的實(shí)質(zhì)是在不同的尺度空間上查找關(guān)鍵點(diǎn)(特征點(diǎn)),并計(jì)算出關(guān)鍵點(diǎn)的方向。

計(jì)算步驟?

SIFT算法主要分以下步驟:

1尺度空間極值點(diǎn)檢測(cè):搜索所有尺度上的圖像位置,通過高斯微分函數(shù)來識(shí)別潛在的對(duì)于尺度和旋轉(zhuǎn)不變的興趣點(diǎn)。

2篩選出穩(wěn)定的關(guān)鍵點(diǎn):在每個(gè)候選的位置上,通過一個(gè)擬合精細(xì)的模型來確定位置和尺度。關(guān)鍵點(diǎn)的選擇依據(jù)于它們的穩(wěn)定程度。

3確定關(guān)鍵點(diǎn)方向:基于圖像局部的梯度方向,分配給每個(gè)關(guān)鍵點(diǎn)位置一個(gè)或多個(gè)方向。所有后面的對(duì)圖像數(shù)據(jù)的操作都相對(duì)于關(guān)鍵點(diǎn)的方向、尺度和位置進(jìn)行變換,從而提供對(duì)于這些變換的不變性。

4生成特征點(diǎn)描述子:在每個(gè)關(guān)鍵點(diǎn)周圍的鄰域內(nèi),在選定的尺度上測(cè)量圖像局部的梯度。這些梯度被變換成一種表示,這種表示允許比較大的局部形狀的變形和光照變化。

5特征點(diǎn)匹配

Matlab代碼

%該函數(shù)讀取圖像并返回其SIFT“關(guān)鍵點(diǎn)”
function [image, descriptors, locs] = sift(imageFile)
image = imread(imageFile);               % 讀圖
[rows, cols] = size(image); 
% 轉(zhuǎn)換為PGM格式,便于“關(guān)鍵點(diǎn)”可執(zhí)行文件的讀取
f = fopen('tmp.pgm', 'w');
if f == -1
    error('Could not create file tmp.pgm.');
end
fprintf(f, 'P5\n%d\n%d\n255\n', cols, rows);
fwrite(f, image', 'uint8');
fclose(f);
%調(diào)用“關(guān)鍵點(diǎn)”可執(zhí)行文件
if isunix
    command = '!./sift ';
else
    command = '!siftWin32 ';
end
command = [command ' <tmp.pgm >tmp.key'];
eval(command);
g = fopen('tmp.key', 'r');
if g == -1
    error('Could not open file tmp.key.');
end
[header, count] = fscanf(g, '%d %d', [1 2]);
if count ~= 2
    error('Invalid keypoint file beginning.');
end
num = header(1);
len = header(2);
if len ~= 128
    error('Keypoint descriptor length invalid (should be 128).');
end
% x1, y1; 起始點(diǎn)
% x2, y2; 終止點(diǎn)
function TransformLine(imsize, keypoint, x1, y1, x2, y2)
len = 6 * keypoint(3);
s = sin(keypoint(4));
c = cos(keypoint(4));
% 變換
r1 = keypoint(1) - len * (c * y1 + s * x1);
c1 = keypoint(2) + len * (- s * y1 + c * x1);
r2 = keypoint(1) - len * (c * y2 + s * x2);
c2 = keypoint(2) + len * (- s * y2 + c * x2);
line([c1 c2], [r1 r2], 'Color', 'c');
%% 該函數(shù)讀取兩張圖像,并找到它們的SIFT特征
function num = match(image1, image2)
[im1, des1, loc1] = sift(image1);    %找出每張圖的SIFT關(guān)鍵點(diǎn)
[im2, des2, loc2] = sift(image2);
distRatio = 0.6;   
des2t = des2';            %預(yù)計(jì)算矩陣轉(zhuǎn)置
for i = 1 : size(des1,1)
   dotprods = des1(i,:) * des2t;        % 點(diǎn)積向量
   [vals,indx] = sort(acos(dotprods));  %取反余弦并對(duì)結(jié)果進(jìn)行排序 
   %檢查最近鄰的角度是否小于2*distRatio.
   if (vals(1) < distRatio * vals(2))
      match(i) = indx(1);
   else
      match(i) = 0;
   end
end
% 顯示匹配點(diǎn)連接的圖像
newImg = cat(2,im1,im2);  %將兩張圖像放在一張圖中
figure; imshow(newImg)
hold on
plot(loc1(:,2),loc1(:,1), 'ro','MarkerSize',5,'LineWidth',0.7)
plot(loc2(:,2)+size(im1,1),loc2(:,1), 'm*','MarkerSize',5,'LineWidth',0.7)
cols1 = size(im1,2);
for i = 1: size(des1,1)
  if (match(i) > 0)
    line([loc1(i,2) loc2(match(i),2)+cols1], ...
         [loc1(i,1) loc2(match(i),1)], 'Color', 'c');
  end
end
hold off;
num = sum(match > 0);
fprintf('Found %d matches.\n', num);
% 保存結(jié)果
frame=getframe(gcf);
im=frame2im(frame);
imwrite(im,'S圖像匹配結(jié)果.jpg'); 
%% 主程序
img1=imread('baby1.JPG');
img2=imread('baby2.JPG');
img1_gray=rgb2gray(img1);
img2_gray=rgb2gray(img2);
match('img1_gray.jpg',' img2_gray.jpg ');

匹配結(jié)果

基于SIFT算法的圖像匹配,Matlab,機(jī)器視覺,算法,人工智能,深度學(xué)習(xí)文章來源地址http://www.zghlxwxcb.cn/news/detail-805045.html

到了這里,關(guān)于基于SIFT算法的圖像匹配的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MATLAB算法實(shí)戰(zhàn)應(yīng)用案例精講-【人工智能】機(jī)器視覺(概念篇)(最終篇)

    目錄 前言 幾個(gè)高頻面試題目 如何評(píng)價(jià)一個(gè)光源的好壞?

    2024年02月02日
    瀏覽(22)
  • 基于SIFT圖像特征識(shí)別的匹配方法比較與實(shí)現(xiàn)

    基于SIFT圖像特征識(shí)別的匹配方法比較與實(shí)現(xiàn)

    目前常用的匹配器有 BFMatcher and FlannBasedMatcher 1.1 BFMatcher BFMatcher 全稱是 Brute-Force Matcher (直譯即為暴力匹配器) 大致原理: 對(duì)于 img1 中的每個(gè)描述符, BFMatcher 將其與 img2 中的所有描述符進(jìn)行比較;它計(jì)算兩個(gè)描述符之間的距離度量(例如,歐幾里得距離或漢明距離,默認(rèn)使

    2024年02月09日
    瀏覽(32)
  • 【教程】Autojs使用OpenCV進(jìn)行SIFT/BRISK等算法進(jìn)行圖像匹配

    轉(zhuǎn)載請(qǐng)注明出處:小鋒學(xué)長生活大爆炸[xfxuezhang.cn] ????????此代碼可以替代內(nèi)置的images.findImage函數(shù)使用,但可能會(huì)誤匹配,如果是對(duì)匹配結(jié)果要求比較高的,還是得謹(jǐn)慎使用。

    2024年02月07日
    瀏覽(22)
  • MATLAB算法實(shí)戰(zhàn)應(yīng)用案例精講-【圖像處理】機(jī)器視覺(基礎(chǔ)篇)(七)

    目錄 ?幾個(gè)高頻面試題目 工業(yè)檢測(cè)中黑白相機(jī)為什么比彩色工業(yè)相機(jī)更受青睞 機(jī)器視覺的發(fā)展歷程 算法原理

    2024年02月06日
    瀏覽(33)
  • 基于SIFT的圖像Matlab拼接教程

    基于SIFT的圖像Matlab拼接教程

    圖像拼接技術(shù),將普通圖像或視頻圖像進(jìn)行無縫拼接,得到超寬視角甚至360度的全景圖,這樣就可以用普通數(shù)碼相機(jī)實(shí)現(xiàn)場(chǎng)面宏大的景物拍攝。利用計(jì)算機(jī)進(jìn)行匹配,將多幅具有重疊關(guān)系的圖像拼合成為一幅具有更大視野范圍的圖像,這就是圖像拼接的目的。 圖1 基于SIFT圖像

    2024年02月02日
    瀏覽(15)
  • 計(jì)算機(jī)競(jìng)賽 - 基于機(jī)器視覺的圖像拼接算法

    計(jì)算機(jī)競(jìng)賽 - 基于機(jī)器視覺的圖像拼接算法

    圖像拼接在實(shí)際的應(yīng)用場(chǎng)景很廣,比如無人機(jī)航拍,遙感圖像等等,圖像拼接是進(jìn)一步做圖像理解基礎(chǔ)步驟,拼接效果的好壞直接影響接下來的工作,所以一個(gè)好的圖像拼接算法非常重要。 再舉一個(gè)身邊的例子吧,你用你的手機(jī)對(duì)某一場(chǎng)景拍照,但是你沒有辦法一次將所有你

    2024年02月13日
    瀏覽(26)
  • 【圖像處理】基于雙目視覺的物體體積測(cè)量算法研究(Matlab代碼實(shí)現(xiàn))

    【圖像處理】基于雙目視覺的物體體積測(cè)量算法研究(Matlab代碼實(shí)現(xiàn))

    ???????? 歡迎來到本博客 ???????? ??博主優(yōu)勢(shì): ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運(yùn)行結(jié)果 ??3 參考文獻(xiàn) ??4 Matlab代碼實(shí)現(xiàn) 本文運(yùn)用

    2024年02月11日
    瀏覽(24)
  • 【計(jì)算機(jī)視覺課程設(shè)計(jì)】基于暗通道先驗(yàn)單幅圖像去霧算法的實(shí)現(xiàn)(MATLAB)

    【計(jì)算機(jī)視覺課程設(shè)計(jì)】基于暗通道先驗(yàn)單幅圖像去霧算法的實(shí)現(xiàn)(MATLAB)

    ? ? ? ?隨著信息化時(shí)代的到來,計(jì)算機(jī)視覺得以迅速發(fā)展,在社會(huì)生活中的各個(gè)領(lǐng)域發(fā)揮了重要作用。然而,近年來大氣污染逐漸加重,霧霾天氣出現(xiàn)的頻率越來越高,導(dǎo)致戶外成像設(shè)備不能捕捉到高質(zhì)量的清晰圖像,無法正常運(yùn)用于計(jì)算機(jī)視覺系統(tǒng)。因此,對(duì)霧天圖像進(jìn)

    2024年02月05日
    瀏覽(22)
  • SIFT算法 特征匹配

    SIFT算法 特征匹配

    一、SIFT算法 參考鏈接 【OpenCV】SIFT原理與源碼分析 DOG尺度空間構(gòu)造(Difference of Gaussian) 首先是對(duì)原特征圖下采樣可以得到金字塔形狀的多分辨率空間,作為特征金字塔,該特征金字塔可以方便提取出不同尺度的特征(感覺這里也可以叫多尺度空間) 多尺度空間:利用高斯

    2024年02月04日
    瀏覽(24)
  • 計(jì)算機(jī)視覺項(xiàng)目實(shí)戰(zhàn)-基于特征點(diǎn)匹配的圖像拼接

    計(jì)算機(jī)視覺項(xiàng)目實(shí)戰(zhàn)-基于特征點(diǎn)匹配的圖像拼接

    ?????? 歡迎來到本博客 ?????? 本次博客內(nèi)容將繼續(xù)講解關(guān)于OpenCV的相關(guān)知識(shí) ?? 作者簡(jiǎn)介 : ?????? 目前計(jì)算機(jī)研究生在讀。主要研究方向是人工智能和群智能算法方向。目前熟悉深度學(xué)習(xí)(keras、pytorch、yolo),python網(wǎng)頁爬蟲、機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺(OpenCV)、

    2024年02月02日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包