国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單應(yīng)性矩陣計算函數(shù)與應(yīng)用

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 作者:OpenCV學(xué)堂 ? 2022-07-13 16:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單應(yīng)性矩陣計算函數(shù)與應(yīng)用

OpenCV在通過特征描述子完成描述子匹配之后,會得到一些關(guān)鍵點對,我們會把這些關(guān)鍵點對分別添加到兩個vector對象中,作為輸入?yún)?shù),調(diào)用單應(yīng)性矩陣發(fā)現(xiàn)函數(shù)來發(fā)現(xiàn)一個變換矩陣H,函數(shù)findHomography就完成了這樣的功能,常見的調(diào)用代碼如下:

 1//--Localizetheobject
 2std::vectorobj_pts;
 3std::vectorscene_pts;
 4for(size_ti=0;i 5{
 6//--Getthekeypointsfromthegoodmatches
 7obj_pts.push_back(keypoints_obj[goodMatches[i].queryIdx].pt);
 8scene_pts.push_back(keypoints_sence[goodMatches[i].trainIdx].pt);
 9}
10MatH=findHomography(obj_pts,scene_pts,RHO);

有了變換矩陣H之后,我們就可以根據(jù)輸入圖像四點坐標(biāo),從場景圖像上得到特征匹配圖像的四點坐標(biāo),代碼實現(xiàn)如下:

1//--Getthecornersfromtheimage_1(theobjecttobe"detected")
2std::vectorobj_corners(4);
3obj_corners[0]=Point(0,0);obj_corners[1]=Point(box.cols,0);
4obj_corners[2]=Point(box.cols,box.rows);obj_corners[3]=Point(0,box.rows);
5std::vectorscene_corners(4);
6perspectiveTransform(obj_corners,scene_corners,H);

其中scene_corners為對象在場景圖像中的四點坐標(biāo),獲得坐標(biāo)以后就可以繪制對應(yīng)的矩形,從而在場景圖像中繪制對象的外接矩形區(qū)域。運行結(jié)果如下:

da958888-0283-11ed-ba43-dac502259ad0.jpg

上述步驟中最重要的就是單應(yīng)性矩陣H的計算,這里我們首先來看一下該函數(shù)與其各個參數(shù)解釋:

1Matcv::findHomography(
2InputArraysrcPoints,
3InputArraydstPoints,
4intmethod=0,
5doubleransacReprojThreshold=3,
6OutputArraymask=noArray(),
7constintmaxIters=2000,
8constdoubleconfidence=0.995
9)

參數(shù)解釋如下:
srcPoints:特征點集合,一般是來自目標(biāo)圖像
dstPoints:特征點集合,一般是來自場景圖像
method:表示使用哪種配準(zhǔn)方法,支持有四種方法(后續(xù)詳細說)

  • 0 – 使用所有的點,比如最小二乘

  • RANSAC – 基于隨機樣本一致性

  • LMEDS – 最小中值

  • RHO –基于漸近樣本一致性

ransacReprojThreshold:該參數(shù)只有在method參數(shù)為RANSAC與RHO的時啟用,默認(rèn)為3
mask:遮罩,當(dāng)method方法為RANSAC 或 LMEDS可用
maxIters:最大迭代次數(shù),當(dāng)使用RANSAC方法
confidence:置信參數(shù),默認(rèn)為0.995

單應(yīng)性矩陣H發(fā)現(xiàn)方法

首先簡單的解釋一下H的作用,假設(shè)在特征匹配或者對齊,視頻移動估算中有兩張圖像image1與image2,image1上有特征點(x1,y1)匹配image2上的特征點(x2,y2),現(xiàn)在我們需要在兩者之間建立一種視圖變換關(guān)系(透視變換),圖示如下(圖二):

dab86f38-0283-11ed-ba43-dac502259ad0.png

其中H是一個3x3的矩陣

這樣為了求出H中的參數(shù),需要兩個點對集合,就是findHomography函數(shù)中前兩個輸入?yún)?shù),理想情況下,通過特征提取得到特征點會再下一幀或者場景圖像中保持不變,但是實際情況下,收到各種因素的影響,會額外產(chǎn)生很多特征點或者干擾點,如果正確的剔除這些干擾點,得到正確匹配的點,利用正確匹配點計算出H才是比較穩(wěn)定的方式。

01

最小二乘擬合

很明顯,圖二所示的是一個過約束問題,如果沒有干擾點的話,就可以通過最小二乘進行直接擬合,求的參數(shù),其中錯誤計算如下:

dad13464-0283-11ed-ba43-dac502259ad0.png

基于過約束方程計算得到錯誤,反向傳播不斷更新參數(shù),直到兩次錯誤差值滿足要求閾值為止。

02

RANSAC

最小二乘方法在描述子匹配輸出的點對質(zhì)量很好,理想情況下是圖像沒有噪聲污染與像素遷移與光線恒定,但是實際情況下圖像特別容易受到光線、噪聲導(dǎo)致像素遷移,從而產(chǎn)生額外的多余描述子匹配,這些點對可以分為outlier跟inlier兩類,基于RANSAC(Random Sample Consensus)可以很好的過濾掉outlier點對,使用合法的點對得到最終的變換矩陣H。RANSAC算法基本思想是,它會從給定的數(shù)據(jù)中隨機選取一部分進行模型參數(shù)計算,然后使用全部點對進行計算結(jié)果評價,不斷迭代,直到選取的數(shù)據(jù)計算出來的錯誤是最小,比如低于0.5%即可,完整的算法流程步驟如下:

  1. 選擇求解模型要求的最少要求的隨機點對

  2. 根據(jù)選擇隨機點對求解/擬合模型得到參數(shù)

  3. 根據(jù)模型參數(shù),對所有點對做評估,分為outlier跟inlier

  4. 如果所有inlier的數(shù)目超過預(yù)定義的閾值,則使用所有inlier重新評估模型參數(shù),停止迭代

  5. 如果不符合條件則繼續(xù)1~4循環(huán)。

通常迭代次數(shù)N會選擇一個比較高的值,OpenCV中默認(rèn)迭代次數(shù)為200,確保有一個隨機選擇點對不會有outlier數(shù)據(jù),

03

PROSAC(RHO)

注意有時候RANSAC方法不會收斂,導(dǎo)致圖像對齊或者配準(zhǔn)失敗,原因在于RANSAC是一種全隨機的數(shù)據(jù)選取方式,完全沒有考慮到數(shù)據(jù)質(zhì)量不同。對RANSAC算法的改進算法就是PROSAC(Progressive Sampling Consensus)即漸近樣本一致性,該方法采用半隨機方法,對所有點對進行質(zhì)量評價計算Q值,然后根據(jù)Q值降序排列,每次只在高質(zhì)量點對中經(jīng)驗?zāi)P图僭O(shè)與驗證,這樣就大大降低了計算量,在RANSAC無法收斂的情況下,PROSAC依然可以取得良好的結(jié)果。OpenCV中的RHO方法就是基于PROSAC估算。

04

LMEDS

最小中值方法擬合,該方法可以看成是最小二乘法的改進,原因在于計算機視覺的輸入數(shù)據(jù)是圖像,一般都是各自噪聲,這種情況下最小二乘往往無法正確擬合數(shù)據(jù),所以采用最小中值方法可以更好實現(xiàn)擬合,排除outlier數(shù)據(jù)。但是它是對高斯噪聲敏感算法。它的最主要步驟描述如下:

  1. 隨機選取很多個子集從整個數(shù)據(jù)集中

  2. 根據(jù)各個子集數(shù)據(jù)計算參數(shù)模型

  3. 使用計算出來的參數(shù)對整個數(shù)據(jù)集計算中值平方殘差

  4. 最終最小殘差所對應(yīng)的參數(shù)即為擬合參數(shù)。

05

對比測試

最后看一下OpenCV中使用單應(yīng)性矩陣發(fā)現(xiàn)對相同的特征點對,分別使用RANSAC、PROSAC、LMEDS進行參數(shù)矩陣H的求解結(jié)果對比,顯示如下:

dae3fd4c-0283-11ed-ba43-dac502259ad0.png

總數(shù)446個匹配點對,三種評估方式生成的H矩陣(3x3)很明顯值都不盡相同。

一般情況下在,推薦大家使用RANSAC或者RHO。默認(rèn)的0表示最小二乘方法,對圖像匹配在實際應(yīng)用中一般都是翻車!LMEDS方法只有在inlier超過50%以上情況下才會擬合生成比較好的H參數(shù),而RANSAC或者RHO不管outlier跟inlier比率是多少都會可以適用,可以大家也都注意到h33總是等于1,因為h33在這里作用是保持標(biāo)準(zhǔn)化尺度。在OpenCV中如果無法正確估算參數(shù)H,會返回空Mat對象。

單應(yīng)性矩陣應(yīng)用

圖像透視變換與對象匹配

daf600dc-0283-11ed-ba43-dac502259ad0.jpg

圖像拼接

db10fba8-0283-11ed-ba43-dac502259ad0.jpg

最后的話

我在2019年的文章匯總中說,2020年少寫廢話,但愿此篇不是廢話,我為了寫好它也是傷神很久,算是自己盡力了,也是回答了平時一些人總問我的問題,歡迎大家指正與反饋!如果覺得不錯,點個贊我就很滿足了!

審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1096

    瀏覽量

    42330
  • 矩陣
    +關(guān)注

    關(guān)注

    1

    文章

    448

    瀏覽量

    36093
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67513

原文標(biāo)題:OpenCV單應(yīng)性矩陣發(fā)現(xiàn)參數(shù)估算方法詳解

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Moku升級實時計算并顯示g(2)二階關(guān)聯(lián)函數(shù)及最新活動更新

    摘要Moku時間間隔與頻率分析儀(TFA)功能進一步升級,在時間間隔測量精度與檢測配置靈活性方面實現(xiàn)顯著提升。全新版本支持實時計算并可視化顯示g(2)二階關(guān)聯(lián)函數(shù),為量子光學(xué)、光子探測及相關(guān)前沿
    的頭像 發(fā)表于 01-22 16:45 ?1891次閱讀
    Moku升級實時<b class='flag-5'>計算</b>并顯示g(2)二階關(guān)聯(lián)<b class='flag-5'>函數(shù)</b>及最新活動更新

    mtf 光學(xué)傳遞函數(shù)如何影響圖像的質(zhì)量?

    調(diào)制傳遞函數(shù)(MTF):光學(xué)系統(tǒng)的“清晰度”度量調(diào)制傳遞函數(shù)(ModulationTransferFunction,簡稱MTF)是光學(xué)成像領(lǐng)域中一個核心概念,用于量化成像系統(tǒng)對物體細節(jié)的傳遞能力。它
    的頭像 發(fā)表于 12-04 16:55 ?1515次閱讀
    mtf 光學(xué)傳遞<b class='flag-5'>函數(shù)</b>如何影響圖像的質(zhì)量?

    基于米爾RK3576的環(huán)視實時方案解析

    張正友標(biāo)定法預(yù)先獲取攝像頭內(nèi)參和畸變系數(shù),實時消除魚眼鏡頭產(chǎn)生的圖像扭曲。投影變換: 通過預(yù)設(shè)的應(yīng)矩陣(Homography Matrix),將矯正后的透視圖像轉(zhuǎn)換為統(tǒng)一的俯瞰視角
    發(fā)表于 11-28 16:57

    高清混合矩陣 vs 傳統(tǒng)矩陣:別再瞎選!3 大核心差異 + 行業(yè)選型攻略,選錯可能虧大了

    ” 與 “傳統(tǒng)矩陣切換器”,二者在應(yīng)用場景適配、信號兼容、核心處理能力等維度存在本質(zhì)區(qū)別,分別對應(yīng)不同層級的視聽需求。本文將從實際應(yīng)用出發(fā),結(jié)合技術(shù)參數(shù)與場景案例,全方位拆解兩類設(shè)備的差異,為不同行業(yè)的選型提供精準(zhǔn)參考
    的頭像 發(fā)表于 11-12 10:42 ?337次閱讀
    高清混合<b class='flag-5'>矩陣</b> vs 傳統(tǒng)<b class='flag-5'>矩陣</b>:別再瞎選!3 大核心差異 + 行業(yè)選型攻略,選錯可能虧大了

    計算程序執(zhí)行指令數(shù)的函數(shù)實現(xiàn)

    探究過程 1、官方提供的計算周期數(shù)指令數(shù)方法為,采用如下這幾個函數(shù)在所要計算的操作前后獲取一次當(dāng)前指令數(shù)和周期數(shù)。并求他們的差值,以此得到結(jié)果。 2、首先找到這幾個函數(shù)原型在hbi
    發(fā)表于 10-28 06:27

    納芯微推出全新NS800RT7P65S/D系列實時控制MCU

    納芯微再度擴充NSSine 實時控制MCU/DSP產(chǎn)品矩陣,推出全新NS800RT7P65S/D系列MCU/DSP,該系列采用/雙Cortex-M7內(nèi)核@400MHz內(nèi)核,每個內(nèi)核配備自研eMath/mMath加速核,支持?jǐn)?shù)學(xué)函數(shù)
    的頭像 發(fā)表于 09-03 14:28 ?3943次閱讀
    納芯微推出全新NS800RT7P65S/D系列實時控制MCU

    求助,關(guān)于STM32H743使用DSP進行矩陣求逆計算出現(xiàn)的問題求解

    我正在STM32H743上實現(xiàn)一個算法,需要進行一個20*20的矩陣求逆,但是計算結(jié)果與matlab對比差距非常大,完全不正確,原矩陣A的部分?jǐn)?shù)值類似如下: 在matlab中求逆的部分結(jié)果如下: 但是在STM32H743中的
    發(fā)表于 08-08 07:24

    C語言中的內(nèi)聯(lián)函數(shù)與宏

    在C編程中,內(nèi)聯(lián)函數(shù)和宏都用于避免函數(shù)調(diào)用的開銷并編寫可復(fù)用的邏輯部分,但它們在工作方式和安全方面存在顯著差異。
    的頭像 發(fā)表于 07-25 15:10 ?1916次閱讀
    C語言中的內(nèi)聯(lián)<b class='flag-5'>函數(shù)</b>與宏

    無刷直流電機狀態(tài)方程系數(shù)矩陣的動態(tài)更新

    在無刷直流電機控制系統(tǒng)的仿真中如何快速動態(tài)地求解無刷直流電機的狀態(tài)方程組是一個關(guān)鍵問題在 Matlab/Simulink 環(huán)境中,利用C語言形式的系統(tǒng)函數(shù)來構(gòu)建仿真模塊,可靈活快速地實現(xiàn)復(fù)雜系統(tǒng)
    發(fā)表于 07-09 14:17

    深入理解C語言:函數(shù)—編程中的“積木塊”藝術(shù)

    鍵問題:1.避免重復(fù):將重復(fù)代碼封裝成函數(shù),實現(xiàn)“一處修改,全局生效”,讓維護更高效。2.邏輯清晰:每個函數(shù)專注一個特定任務(wù)(如計算、顯示等),代碼可讀大幅提升。3.
    的頭像 發(fā)表于 06-30 17:26 ?1868次閱讀
    深入理解C語言:<b class='flag-5'>函數(shù)</b>—編程中的“積木塊”藝術(shù)

    高壓端探頭設(shè)計中的器材應(yīng)如何選型

    在高壓端探頭設(shè)計的過程中,器材的選型是尤為重要的,這決定探頭的性能,可靠和安全等重要環(huán)節(jié)。從電氣性能到機械結(jié)構(gòu),每一個器件的選型都要經(jīng)過深思熟慮,本文主要從電氣性能方面探討,應(yīng)該如何進行器材的選型。
    的頭像 發(fā)表于 06-05 18:07 ?547次閱讀

    RISC-V向量處理器:現(xiàn)代計算的革命引擎

    瓶頸等問題愈發(fā)突出。以人工智能領(lǐng)域為例,深度學(xué)習(xí)模型訓(xùn)練需要進行海量矩陣運算和復(fù)雜的神經(jīng)網(wǎng)絡(luò)計算,對計算設(shè)備的計算能力和并行處理能力要求極高;在大數(shù)據(jù)分析場景中,快
    的頭像 發(fā)表于 06-04 10:03 ?1716次閱讀
    RISC-V向量處理器:現(xiàn)代<b class='flag-5'>計算</b>的革命<b class='flag-5'>性</b>引擎

    電路可靠設(shè)計與工程計算技能概述

    電路可靠設(shè)計與工程計算通過系統(tǒng)學(xué)習(xí)電路可靠設(shè)計與工程計算,工程師不僅能提高電路的可靠和穩(wěn)定性,還能優(yōu)化產(chǎn)品設(shè)計過程,減少潛在的故障風(fēng)險
    的頭像 發(fā)表于 03-26 17:08 ?768次閱讀
    電路可靠<b class='flag-5'>性</b>設(shè)計與工程<b class='flag-5'>計算</b>技能概述

    矩陣混音技術(shù)快速入門

    A&H矩陣混音技術(shù)快速入門Live_Matrix_MixingChinese
    發(fā)表于 03-26 14:12 ?0次下載

    馬達控制上必要的知識 三角函數(shù)

    為了理解馬達控制技術(shù),必須理解如下基礎(chǔ)學(xué)問。 (1) 數(shù)學(xué):三角函數(shù),指數(shù)函數(shù),復(fù)數(shù)函數(shù),微分,積分,矩陣,坐標(biāo)(直交,極) (2) 電氣電路:交流理論(3 相交流, 歪交流),過渡現(xiàn)
    發(fā)表于 03-18 12:23