八、走向三維

八、走向三維

? ? ? ? 我們前面花了七篇博文做鋪墊,我們所做的一切努力都是為了最后的這一擊——立體成像。因為玉米的這個系列文章是對雙目視覺幾何框架的總結。此處跳過匹配,假設左右圖像點的完美匹配的。只看在幾何上,三維坐標是如何被還原的。相對來說,最后的這一步,比前面是要輕松許多的,因為我們前面已經做了大量的工作。這些工作使得最后的這一步,由不可能稱為可能,由復雜變得簡單,吧啦吧啦。好吧,閑話少說,讓我們一起來見證這一時刻吧。??

? ? ? ? 此處我們按opencv中cvcalibratecamera2()函數得到的焦距f進行三維坐標的求解。

? ? ? ? 請大家看下面示意圖(莫怪,玉米的圖一向畫的丑):


? ? ? ? 根據最簡單的相似三角形關系,我們就可以求出,物點坐標(X,Y,Z)。

? ? ? ? 首先,


? ? ? ? ?其中,s為像素的物理尺寸,d就是兩個攝像機間的視差,d=(uL-uR)s。


? ? ? ? 我們得到的這個三維坐標,相當于是在右攝像機的攝像機坐標系上的。

? ? ? ?那么重建就是透視投影的逆過程,我們可以把這個過程表示成矩陣形式。我們定義Q為反投影矩陣。那么依照上式:

? ? ? ? 齊次坐標形式的三維坐標恢復,矩陣形式如下:

? ? ? ? 至此,玉米的《計算機視覺學習筆記》雙目視覺幾何框架系列文章順利收尾。希望這八篇博文對大家,尤其是計算機視覺的初學者有所幫助。

? ? ? ? 在行文過程中,玉米引用了網絡上的一些圖片,但大多找不到出處,所以未給出引用表。如這些圖片的主人,發現了自己的圖片在這個博客上,請和玉米聯系,玉米會將引用出處,重新給出!

? ? ? ?本系列博文中涉及的數學運算頗多,玉米才疏學淺,中間若有理解上的錯誤,懇請大家批評指正!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255162.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255162.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255162.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通用連接池項目開啟

通用連接池項目開啟 待完善......轉載于:https://www.cnblogs.com/aresyl/p/5552092.html

HALCON示例程序fin.hdev通過形態學檢測缺陷

HALCON示例程序fin.hdev通過形態學檢測缺陷 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_window (‘off’) read_image (Fins, ‘fin’ [1:3]) get_image_size (Fins, Width, Height) dev_close_window () dev_open_window (0, 0, Width[0],…

FEZ前端模塊化工程開發框架

FEZ FEZ 是面向前端模塊化工程的開發框架。主要目的是統一前端開發模式和項目開發結構,自動化前端工作流,提高開發效率和開發質量。使用持續集成等軟件工程的架構模式,集成眾多業界先進的解決方案,讓研發人員更專注于業務邏輯的實…

棧內存和堆內存

堆和棧這兩個字我們已經接觸多很多次,那么具體是什么存在棧中什么存在堆中呢?就拿JavaScript中的變量來說: 首先JavaScript中的變量分為基本類型和引用類型。 基本類型就是保存在棧內存中的簡單數據段,而引用類型指的是那些保存在…

L~M方法

L~M方法: L~M(Levenberg-Marquardt)方法有些讓人摸不清頭腦。玉米覺得L~M讓人困擾的主要原因有兩點:一是L~M從何而來、二是L~M怎么樣用?因為玉米也不是研究最優化理論的,所以玉米在這里用較為通俗的觀點&a…

Android——Activity去除標題欄和狀態欄

一、在代碼中設置 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //去除title requestWindowFeature(Window.FEATURE_NO_TITLE); //去掉Activity上面的狀態欄getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSC…

Ghosts for Tea

Ghosts for Tea 喝茶?鬧鬼? Ten pence for a view over the bay . said the old man with the telescope. Lovely clearmorning. Have a look at the old lighthouse and the remains of the great shipwreckof 1935. “在如此可愛清爽的早晨&#xff0…

HALCON示例程序find_pads.hdev通過fit_rectangle2_contour_xld繪制精準輪廓

HALCON示例程序find_pads.hdev通過fit_rectangle2_contour_xld繪制精準輪廓 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_pc (‘off’) dev_update_window (‘off’) dev_update_var (‘off’) read_image (Image, ‘die_pads’) dev_close_w…

IDEA將項目上傳至碼云/GitHub托管

前言 好久都沒有寫博客了,由于博主之前一直都在上班處于加班的階段,所以根本就沒有時間去學習。現在請假回到學校寫論文,有時間來學習了。 所以會不斷的進行博客的更新,以及分享我在公司學到的一些新的技術,希望大家多…

BZOJ 1937: [Shoi2004]Mst 最小生成樹 [二分圖最大權匹配]

傳送門 題意: 給一張無向圖和一棵生成樹,改變一些邊的權值使生成樹為最小生成樹,代價為改變權值和的絕對值,求最小代價 線性規劃的形式: $Min\quad \sum\limits_{i1}^{m} \delta_i$ $Sat\quad $非樹邊邊權$\ge$生成樹上…

找bug

1.在輸入數據按保存鍵后不知道數據是否已經存入數據庫。 修改:增加一個對數據庫的監聽事件來監聽數據庫是否發生變化。 2.空數據也能保存成功。 修改:增加一個監聽事件來檢測是否輸入數據。 3.在輸入框中輸入不否和輸入框對數據的要求,但不提…

HALCON示例程序forest.hdev識別森林中的樹

HALCON示例程序forest.hdev識別森林中的樹 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_close_window () dev_update_window (‘off’) read_image (Forest, ‘forest_air1’) get_image_size (Forest, Width, Height) dev_open_window (0, 0, Width…

Hadoop學習之路(十八)MapReduce框架Combiner分區

對combiner的理解 combiner其實屬于優化方案,由于帶寬限制,應該盡量map和reduce之間的數據傳輸數量。它在Map端把同一個key的鍵值對合并在一起并計算,計算規則與reduce一致,所以combiner也可以看作特殊的Reducer。 執行combiner操…

cocos2dx游戲--歡歡英雄傳說--添加攻擊按鈕

接下來添加攻擊按鈕用于執行攻擊動作。同時修復了上一版移動時的bug。修復后的Player::walkTo()函數: void Player::walkTo(Vec2 dest) {if (_seq)this->stopAction(_seq);auto curPos this->getPosition();if (curPos.x > dest.x)this->setFlippedX(t…

Yii2.0 rules常用驗證規則

設置一個修改方法,但是save(),沒有成功,數據修改失敗,查了好久,一般情況就是不符合rules規則,而我沒有設置rules規則,重新設置了一個不能為空,然后就修改成功…

HALCON示例程序gray_features.hdev提取灰度圖的不同特征(area_center_gray 、elliptic_axis_gray)

HALCON示例程序gray_features.hdev提取灰度圖的不同特征(area_center_gray 、elliptic_axis_gray) 示例程序源碼(加注釋) 讀入圖片 read_image (Image, ‘monkey’)二值化 threshold (Image, Region, 128, 255)分割連通域 conne…

Machine Vision Pixel Calibration~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Artificial Intelligence and Robotics Research人工智能與機器人研究, 2014, 3, 25-33Published Online May 2014 in Hans. http://www.hanspub.org/journal/airrhttp://dx.doi.org/10.12677/airr.2014.32005

Ceph分布式存儲系統-性能測試與優化

測試環境 部署方案:整個Ceph Cluster使用4臺ECS,均在同一VPC中,結構如圖: 以下是 Ceph 的測試環境,說明如下: Ceph 采用 10.2.10 版本,安裝于 CentOS 7.4 版本中;系統為初始安裝&…

mysql考試總結

USE school; -- 班級表 CREATE TABLE class(cid TINYINT PRIMARY KEY AUTO_INCREMENT,caption VARCHAR(20) );INSERT INTO class(caption) VALUES("三年二班"),("一年三班"),("三年一班");SELECT * FROM class;-- 老師表 CREATE TABLE teacher(t…

反思

1.說明一下ArrayList和數組的區別,并且分別寫出初始化的語句: ArrayList:可以放不同的類型,長度不固定 數組:放同一類型,長度固定 數組的初始化語句:int []anew int []{}; ArrayList初始化語句:…