圖像坐標:我想和世界坐標談談(B)

二、圖像坐標:我想和世界坐標談談(B)

? ? ? ? ?玉米將在這篇博文中,對圖像坐標與世界坐標的這場對話中涉及的第二個問題:談話方式,進行總結。世界坐標是怎樣變換進攝像機,投影成圖像坐標的呢?

? ? ? ? 玉米做了一個簡單的圖示,在這里做一個提綱。圖中顯示,世界坐標系通過剛體變換到達攝像機坐標系,然后攝像機坐標系通過透視投影變換到達圖像坐標系。可以看出,世界坐標與圖像坐標的關系建立在剛體變換和透視投影變換的基礎上。為了獎勵剛體變和透視投影變換溝通了“世界上最遠的距離”,玉米在圖上獎勵了他們兩朵小紅花。哈哈



? ? ? ? 首先,讓我們來看一下剛體變換是如何將世界坐標系與圖像坐標系聯系起來的吧。這里,先對剛體變換做一個介紹:

? ? ? ? 剛體變換(regidbody motion):三維空間中, 當物體不發生形變時,對一個幾何物體作旋轉,?平移運動,稱之為剛體變換

因為世界坐標系和攝像機坐標都是右手坐標系,所以其不會發生形變。我們想把世界坐標系下的坐標轉換到攝像機坐標下的坐標,如下圖所示,可以通過剛體變換的方式。空間中一個坐標系,總可以通過剛體變換轉換到另外一個個坐標系的。轉一轉,走一走,就到另外一個坐標系下了。以前可能是面朝大海,經過平移旋轉,最終可能只能面朝冰山了,哈哈


? ? ? ? ?下面讓我來看一下,二者之間剛體變化的數學表達。


? ? ? ? ?其中,XC代表攝像機坐標系,X代表世界坐標系。R代表旋轉,T代表平移。R、T與攝像機無關,所以稱這兩個參數為攝像機的外參數(extrinsic parameter)可以理解為兩個坐標原點之間的距離,因其受x,y,z三個方向上的分量共同控制,所以其具有三個自由度。

? ? ? ? ?R則為分別繞XYZ三軸旋轉的效果之和。如下面所示:



? ? ? ? ?R=r1*r2*r3.其由三個方向的θ控制,故具有三個自由度。

? ? ? ? ? ?好了,剛體變換就講完了。大家應該都了解,世界坐標系到攝像機坐標系之間的轉換過程了吧。

? ? ? ? ? 接下來,讓我們看看攝像機坐標下的坐標如何投影到圖像坐標系下,最終變為照片中的一個像素。這其中包含兩個過程:一是從攝像機坐標到“空間圖像坐標”(x,y)所發生的透視投影;二是從“連續圖像坐標”到“離散圖像坐標”(u,v)。后者我們已經在第一篇博文中解釋過。所以在這里,主要介紹一下透視投影。

? ? ? ? ?透視投影(perspective projection): 用中心投影法將形體投射到投影面上,從而獲得的一種較為接近視覺效果的單面投影圖。有一點像皮影戲。它符合人們心理習慣,即離視點近的物體大,離視點遠的物體小,不平行于成像平面的平行線會相交于消隱點(vanish point)。

? ? ? ? ?啰嗦這么多,其實大家看看示意圖,看看公式,秒懂。



? ? ? ? ?以圖中B(XB,YB)點為例,在小孔成像攝像機模型下(幾何分析的最常用模型)。這里的f為攝像機的焦距,其屬于攝像機的內參數(intrinsic parameter)。其在成像平面上的投影點b(xb,yb)的坐標利用簡單的相似三角形比例關系很容易求出:


? ? ? ? ?上面兩式也闡明了攝像機坐標與圖像坐標之間的透視投影關系。

? ? ? ? ? ? 好吧,現在玉米已經把圖像坐標與世界坐標之間的這場對話所需經歷的三個波折的過程加以了解釋。即:剛體變換、透視投影、(x,y)換(u,v)(ps.這個在上一篇博文中講過)。接下來玉米用一張圖把三個過程連接起來。實現從世界坐標(X,Y,Z)到(u,v)之間的轉換。讓圖像坐標與世界坐標直接對話。

? ? ? ? ?下圖中的轉換關系,都是用齊次坐標表達的,大家會發現這樣的表達非常整潔。

? ? ? ? ?其實這張圖顯示的過程還有一個名字:攝像機模型(camera model)。其實也就是攝像機的幾何模型了。

? ? ? ? ?將三者相乘,可以把這三個過程和在一起,寫成一個矩陣:


? ? ? ? ?P就是世界坐標到圖像坐標的直接聯系人,P就表示了一個投影相機,有下面公式:


? ? ? ? ?注意在表示齊次坐標時,需要在符號上面加個小帽子。除去齊次坐標控制位P23P具有11個自由度。

?

? ? ? ? 攝像機模型及其中涉及的坐標系等,是弄清3D重建幾何框架的基礎。可以把它們視為基本運算關系。后面對于三維重建幾何框架的推導,都是要用到三個基本坐標系和攝像機模型的。


? ? ? ? ?到這里玉米就順利搭建起了圖像坐標與世界坐標間的這場對話。如有紕漏還請大家擔待,并指正!

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

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

相關文章

c#基礎 函數

函數 就是方法 獨立完成某項功能的一個個體 函數的的三個好處:1、提高代碼的重用性。2、提高功能開發的效率,3.提高代碼的可維護性。 函數也分為 固定功能函數, 高度抽象函數。高度抽象函數應用比較廣泛, 函數的四要素&#…

【Android】Fragment的簡單筆記

被虐了,做某公司筆試時,發現自己連個Fragment的生命周期都寫不詳細。平時敲代碼,有開發工具的便利,有網上各大神的文章,就算忘了也很容易的可以查到,但當要自己不借助外界,卻發現自己似乎對該知…

HALCON示例程序color_fuses.hdev通過顏色對保險絲進行分類

HALCON示例程序color_fuses.hdev通過顏色對保險絲進行分類 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_window (‘off’)定義字符串變量并初始化 FuseColors : [‘Orange’,‘Red’,‘Blue’,‘Yellow’,‘Green’] FuseTypes : [5,10,15,20…

三、致敬“張正友標定”

三、致敬“張正友標定” 此處“張正友標定”又稱“張氏標定”,是指張正友教授于1998年提出的單平面棋盤格的攝像機標定方法。張氏標定法已經作為工具箱或封裝好的函數被廣泛應用。張氏標定的原文為“A Flexible New Technique forCamera Calibration”。此文中所提到…

Using KernelShark to analyze the real-time scheduler【轉】

轉自:https://lwn.net/Articles/425583/ This article brought to you by LWN subscribers Subscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the …

無縫滾動的算法

一早上的時間做了一個簡單的無縫滾動,遇到的問題特別的多,而且對無縫滾動的算法也不是特別的清楚。 無縫滾動效果的原理:就是幾個圖片 浮動成為一排;然后讓圖片滾動,正常情況下圖片滾完,就留下了后面的空白…

ACM題目————一筆畫問題

描述 zyc從小就比較喜歡玩一些小游戲&#xff0c;其中就包括畫一筆畫&#xff0c;他想請你幫他寫一個程序&#xff0c;判斷一個圖是否能夠用一筆畫下來。 規定&#xff0c;所有的邊都只能畫一次&#xff0c;不能重復畫。 輸入第一行只有一個正整數N(N<10)表示測試數據的組數…

HALCON示例程序color_fuses_lut_trans.hdev通過顏色對保險絲進行分類

HALCON示例程序color_fuses_lut_trans.hdev通過顏色對保險絲進行分類 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off ()定義變量并初始化&#xff0c;這些變量都是下邊識別要用到的 FuseColors : [‘Orange’,‘Red’,‘Blue’,‘Yellow’,…

上海電驅動

從行業前景上來說還可以&#xff0c;但這個公司不行&#xff0c;公司各種坑&#xff0c;從上到下各種腐敗&#xff0c;打醬油的人比較多&#xff0c;在薪資方面除了技術部稍好一點&#xff0c;其他部門我建議你最好別去了&#xff0c;整體上這個公司員工沒幸福感&#xff01;只…

1056. 組合數的和(15)

1056. 組合數的和(15) 時間限制400 ms內存限制65536 kB乙級練習題解目錄給定N個非0的個位數字&#xff0c;用其中任意2個數字都可以組合成1個2位的數字。要求所有可能組合出來的2位數字的和。例如給定2、5、8&#xff0c;則可以組合出&#xff1a;25、28、52、58、82、85&#…

3、時間和隨機數

一、時間 1.1 使用Calendar/[?kl?nd?]/類獲取時間 1.1.1 常用方法 (1)public static Calendar getInstance&#xff08;&#xff09;: 使用默認時區和語言環境獲取一個基于當前時間的Calendar對象。 (2)public int get(int field) 返回給定日歷字段表示的日歷部分的數字…

哥尼斯堡的“七橋問題” (歐拉回路,并查集)

哥尼斯堡的“七橋問題” (25分) 哥尼斯堡是位于普累格河上的一座城市&#xff0c;它包含兩個島嶼及連接它們的七座橋&#xff0c;如下圖所示。 可否走過這樣的七座橋&#xff0c;而且每橋只走過一次&#xff1f;瑞士數學家歐拉(Leonhard Euler&#xff0c;1707—1783)最終解決…

HALCON示例程序color_pieces.hdev通過MLP訓練器對彩色棋子進行分類識別

HALCON示例程序color_pieces.hdev通過MLP訓練器對彩色棋子進行分類識別&#xff1b;分別在彩色圖像下與灰度圖像下進行&#xff0c;從而產生對比。 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () dev_open_window (…

無人駕駛汽車之爭本田為何未戰先敗

摘要 : 本田汽車的研發部門對于汽車雖然理解深刻&#xff0c;但從整體而言&#xff0c;本田的造車理念還停留在上個時代&#xff0c;在未來的無人駕駛競爭中&#xff0c;本田已經有未戰先啊敗的苗頭。 百度百家The BIG Talk硅谷站連續5小時的高密度頭腦風暴&#xff0c;果然讓人…

理解git結構與簡單操作(四)合并分支的方法與策略

接上節&#xff0c;此時的dev分支與master分支的進度就不一樣了&#xff0c;所以需要將dev分支與master分支同步。這里需要的就是合并分支的操作&#xff0c;大家應該都知道用git merge或者git rebase。 git merge merge&#xff0c;即「合并」。 fast-forward 當出現我們上面圖…

HALCON示例程序color_segmentation_pizza.hdev披薩肉餅識別。

HALCON示例程序color_segmentation_pizza.hdev披薩肉餅識別。 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () read_image (Image, ‘color/pizza_01’) get_image_size (Image, Width, Height) dev_open_window (0,…

攝像機標定

利用攝像機所拍攝到的圖像來還原空間中的物體。在這里&#xff0c;不妨假設攝像機所拍攝到的圖像與三維空間中的物體之間存在以下一種簡單的線性關系&#xff1a;[像]M[物],這里&#xff0c;矩陣M可以看成是攝像機成像的幾何模型。 M中的參數就是攝像機參數。通常&#xff0c;這…

Linux下Tomcat重新啟動

在Linux系統下&#xff0c;重啟Tomcat使用命令操作的&#xff01; 首先&#xff0c;進入Tomcat下的bin目錄 cd /usr/local/tomcat/bin 使用Tomcat關閉命令 ./shutdown.sh 查看Tomcat是否以關閉 ps -ef|grep java 如果顯示以下相似信息&#xff0c;說明Tomcat還沒有關閉 root …

大數據和人工智能的關系是什么?

何為大數據&#xff1f;何為人工智能&#xff1f; 大數據&#xff0c;百度百科上是這么定義的&#xff0c;指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合&#xff0c;是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率…

【2017-03-09】SQL Server 數據庫基礎、四種約束

一、數據庫和內存的區別 數據庫&#xff1a;一些存儲在硬盤上的數據文件 內存&#xff1a;計算機臨時存儲的一些數據 二、常用數據庫 .Net - SQL Server PHP - MySql Java - Oreacl 三、SQL Server使用方法 1、新建數據庫 右鍵點擊“數據庫”&#xff0c;點擊“新建數據庫”。在…