一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Python OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

 昵稱11935121 2018-07-12

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

/免責(zé)聲明>

說到這里,后面的我負(fù)責(zé)了。

我們從哪里開始?

從整體上看這個(gè)項(xiàng)目可能會(huì)比實(shí)際上更困難。所幸的是,我們能夠把它劃分成更小的部分,當(dāng)這些部分合并在一起時(shí),我們就可以使增強(qiáng)現(xiàn)實(shí)應(yīng)用程序工作了?,F(xiàn)在的問題是,我們需要哪些更小的塊?

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

1、識(shí)別參考平面。

2、估計(jì)單應(yīng)性。

3、從單應(yīng)性推導(dǎo)出從參考面坐標(biāo)系到目標(biāo)圖像坐標(biāo)系的轉(zhuǎn)換。

4、在圖像(像素空間)中投影我們的3D模型并繪制它。

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

圖2:概述增強(qiáng)現(xiàn)實(shí)應(yīng)用程序的整個(gè)過程。

我們將使用的主要工具是Python和OpenCV,因?yàn)樗鼈兌际情_源的,易于建立和使用,并且使用它們能快速構(gòu)建原型。用到代數(shù),我將使用numpy。

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

圖3:左側(cè),從我將使用的表面模型中提取的特征。右側(cè),從場景中提取的特征。注意,最右側(cè)圖形的角落是如何檢測為興趣點(diǎn)的。

特征描述

一旦找到特征,我們應(yīng)該找到它們提供的信息的適當(dāng)表示形式。這將允許我們在其它圖像中尋找它們,并且還可以獲取比較時(shí)兩個(gè)檢測到的特征相似的度量。描述符提供由特征及其周圍環(huán)境給出的信息的表示。一旦描述符被計(jì)算出來,待識(shí)別的對象就可以被抽象成一個(gè)特征vector,該vector包含圖像和參考對象中發(fā)現(xiàn)的關(guān)鍵點(diǎn)的描述符。

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

圖4:參考面和場景之間找到最接近的15個(gè)暴力匹配

最后,在找到匹配之后,我們應(yīng)該定義一些標(biāo)準(zhǔn)來決定對象是否被找到。為此,我定義了應(yīng)該找到的最小匹配數(shù)的閾值。如果匹配的數(shù)量高于閾值,則我們假設(shè)對象該已經(jīng)被找到。否則,我們認(rèn)為沒有足夠的證據(jù)表明識(shí)別是成功的。

使用OpenCV ,所有這些識(shí)別過程都可以用幾行代碼完成:

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

圖5:平面和圖像之間的單應(yīng)。來源: F. Moreno.

我們怎么能找到這樣的轉(zhuǎn)變呢?既然我們已經(jīng)找到了兩幅圖像之間的一組匹配,我們當(dāng)然可以直接通過任何現(xiàn)有的方法(我提議使用RANSAC)找到一個(gè)同構(gòu)轉(zhuǎn)換來執(zhí)行映射,但讓我們了解一下我們正在做什么(見圖6)。如果需要,你可以跳過以下部分(在圖10之后繼續(xù)閱讀),因?yàn)槲抑粫?huì)解釋我們將要估計(jì)的轉(zhuǎn)換背后的原因。

我們所擁有的是一個(gè)具有已知坐標(biāo)的對象(在這種情況下是一個(gè)平面),比方說世界坐標(biāo)系,我們用位于相對于世界坐標(biāo)系的特定位置和方向的攝像機(jī)拍攝它。我們假定相機(jī)遵循針孔模型工作,這大致意味著穿過3D點(diǎn)p和相應(yīng)的2D點(diǎn)u的光線相交于攝像機(jī)的中心c。如果你有興趣了解更多關(guān)于針孔模型的知識(shí),這里有一個(gè)好的資源。

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

幸運(yùn)的是,由于參考面的點(diǎn)的z坐標(biāo)始終等于0(參考圖5),我們可以簡化上面發(fā)現(xiàn)的轉(zhuǎn)換。很容易看出,z坐標(biāo)和投影矩陣的第三列的乘積將是0,所以我們可以將該列和z坐標(biāo)從前面的等式中刪除。將校準(zhǔn)矩陣重命名為A,并考慮到外部校準(zhǔn)矩陣是齊次變換:

Python+OpenCV實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)!OpenCV真的牛逼!學(xué)會(huì)太受用了!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多

    国产精品一区欧美二区| 一级片二级片欧美日韩| 欧美日韩国产精品自在自线| 欧美一区日韩二区亚洲三区| 草草视频福利在线观看| 国产精品午夜福利免费在线| 久久精品亚洲情色欧美| 亚洲精品中文字幕一二三| 亚洲中文字幕高清视频在线观看| 日本高清不卡在线一区| 玩弄人妻少妇一区二区桃花| 高潮少妇高潮久久精品99| 熟女一区二区三区国产| 亚洲一区二区三区在线中文字幕| 国内午夜精品视频在线观看| 激情内射亚洲一区二区三区| 日韩人妻免费视频一专区 | 少妇特黄av一区二区三区| 亚洲少妇一区二区三区懂色| 欧美午夜一级艳片免费看| 亚洲男人天堂网在线视频| 五月婷婷欧美中文字幕 | 亚洲国产91精品视频| 国产剧情欧美日韩中文在线| 日本午夜免费观看视频| 伊人久久青草地婷婷综合| 亚洲第一视频少妇人妻系列| 人体偷拍一区二区三区| 欧美一区二区三区十区| 色一情一乱一区二区三区码| 午夜福利92在线观看| 91精品视频全国免费| 夜夜嗨激情五月天精品| 国产自拍欧美日韩在线观看| 国产精品一区日韩欧美| 99久久精品免费精品国产| 成人午夜激情在线免费观看| 国产一区二区在线免费| 久久91精品国产亚洲| 中文字幕日韩无套内射| 午夜国产精品福利在线观看|