單目視覺標定:世界坐標系、相機坐標系、圖像坐標系、像素坐標系——簡單粗暴,粗暴

轉:https://blog.csdn.net/chentravelling/article/details/53558096

?

1.正文

圖像處理、立體視覺等等方向常常涉及到四個坐標系:世界坐標系、相機坐標系、圖像坐標系、像素坐標系。例如下圖:
這里寫圖片描述
構建世界坐標系只是為了更好的描述相機的位置在哪里,在雙目視覺中一般將世界坐標系原點定在左相機或者右相機或者二者X軸方向的中點。
接下來的重點,就是關于這幾個坐標系的轉換。也就是說,一個現實中的物體是如何在圖像中成像的。

1.1世界坐標系與相機坐標系

這里寫圖片描述

于是,從世界坐標系到相機坐標系,涉及到旋轉和平移(其實所有的運動也可以用旋轉矩陣和平移向量來描述)。繞著不同的坐標軸旋轉不同的角度,得到相應的旋轉矩陣,如下圖所示:
這里寫圖片描述

那么從世界坐標系到相機坐標系的轉換關系如下所示:
這里寫圖片描述

1.2相機坐標系與圖像坐標系

從相機坐標系到圖像坐標系,屬于透視投影關系,從3D轉換到2D。
這里寫圖片描述
此時投影點p的單位還是mm,并不是pixel,需要進一步轉換到像素坐標系。

1.3圖像坐標系與像素坐標系

像素坐標系和圖像坐標系都在成像平面上,只是各自的原點和度量單位不一樣。圖像坐標系的原點為相機光軸與成像平面的交點,通常情況下是成像平面的中點或者叫principal point。圖像坐標系的單位是mm,屬于物理單位,而像素坐標系的單位是pixel,我們平常描述一個像素點都是幾行幾列。所以這二者之間的轉換如下:其中dx和dy表示每一列和每一行分別代表多少mm,即1pixel=dx mm
這里寫圖片描述

那么通過上面四個坐標系的轉換就可以得到一個點從世界坐標系如何轉換到像素坐標系的。
這里寫圖片描述

其中相機的內參和外參可以通過張正友標定獲取(戳這里查看張正友標定的資料)。通過最終的轉換關系來看,一個三維中的坐標點,的確可以在圖像中找到一個對應的像素點,但是反過來,通過圖像中的一個點找到它在三維中對應的點就很成了一個問題,因為我們并不知道等式左邊的Zc的值。
關于三維重建不是我的方向,但是深度值的獲取是我項目中的一個需要解決的問題,這將涉及到后面的立體視覺知識。

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

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

相關文章

Python基礎知識-05-數據類型總結字典

python其他知識目錄 1、一道題,選擇商品的序號。程序員和用戶各自面對的序號起始值 如有變量 googs [汽車,飛機,火箭] 提示用戶可供選擇的商品: 0,汽車1,飛機2,火箭用戶輸入索引后,將指定商品的內容拼接打印,如:用戶輸…

Python學習筆記之異常

Python用異常對象來表示異常情況,如果異常對象未被處理或捕捉,程序就會回溯(traceback)中止執行。 異常可以在出錯時自動引發,也可以主動引發。 異常被引發后如果不被處理就會傳播至程序調用的地方,直到主程…

VSFTP的使用

一、基本安裝 1.安裝服務 yum -y install vsftpd //centos Redhat apt-get install vsftpd //debian ubuntu 2.開啟服務 service vsftpd status //查看狀態,默認是關閉的 service vsftpd start 3.開機隨操作系統啟動 chkconfig vsftpd on4.添加賬號 useradd -d /…

OC Swift混編-Swift.h File not found

https://www.jianshu.com/p/f860fe1718ca 2016.09.13 11:53* 字數 266 閱讀 1935評論 1喜歡 1今天碰到個神坑,本人項目是OC項目,最近開始使用Swift開始替代.但是,在替代的已開始就出現問題了:新建swift文件,然后提示創建bridging-Hearder文件,然后swift可以使用OC代碼了.這些都…

視覺標定,再來一波!!更簡單粗暴!!!!!!

繼續!!!!!! 一、四個坐標系簡介和轉換 相機模型為以后一切標定算法的關鍵,只有這邊有相當透徹的理解,對以后的標定算法才能有更好的理解。本人研究了好長時間,幾乎每天…

深入淺出NIO之Selector實現原理

2019獨角獸企業重金招聘Python工程師標準>>> 前言 Java NIO 由以下幾個核心部分組成: 1、Buffer 2、Channel 3、Selector Buffer和Channel在深入淺出NIO之Channel、Buffer一文中已經介紹過,本文主要講解NIO的Selector實現原理。 之前進行sock…

介紹一下畫圖小能手matplotlib。

我們在做完數據分析的時候需要把分析出來的結果,做一個圖形化的形象表達,這里我們就需要用到畫圖小能手matplotlib,下面就演示一下常用的條形圖和折線圖 散點圖 散點圖的做大的作用是研究兩個變量的相關性(正相關,負相…

立體視覺標定源代碼C++,簡單粗暴!粗暴·······

疑點解答: 攝像機矩陣由內參矩陣和外參矩陣組成,對攝像機矩陣進行QR分解可以得到內參矩陣和外參矩陣。 內參包括焦距、主點、傾斜系數、畸變系數 (1) 其中,fx,fy為焦距,一般情況下&#xff…

11. 臨時表

-- 查詢5大洲國家總數 SELECT continent,COUNT(*) FROM country GROUP BY continent;-- 演示臨時表 CREATE TEMPORARY TABLE tmp_table ( continent VARCHAR(20), COUNT INT );INSERT INTO tmp_table SELECT Asia AS continent,COUNT(*) FROM country WHERE continent Asia;…

MongoDB負載信息一目了然 阿里云HDM重磅發布MongoDB監控和診斷功

2019獨角獸企業重金招聘Python工程師標準>>> 混合云數據庫管理(HDM)的統一監控、告警、診斷功能新增了對MongoDB的支持。 通過直觀的方式將MongoDB多個維度的負載信息統一整合,不僅可以清晰的查看實時負載信息,也可以方…

在iview的Table中添加Select(render)

首先對Render進行分析,在iview官方的文檔中,找到了table插入Button的例子: [javascript] view plaincopy { title: Action, key: action, width: 150, align: center, render: (h, params) > { return h(div, [ h(Butt…

JavaScript中call和apply方法

1 /*2 在js中 call和apply常用于綁定作用域3 */4 //1 簡單的綁定5 function sum(a,b){6 return ab;7 }8 //將sum的功能綁定給test2來執行9 function test2(a,b){ 10 return sum.call(this,a,b); 11 } 12 // call 和apply的區別是 apply接收數組作為參數…

工業機械人運動學正逆解,簡單粗暴!!!!!!

ur機械臂是六自由度機械臂,由D-H參數法確定它的運動學模型,連桿坐標系的建立如上圖所示。 轉動關節θi是關節變量,連桿偏移di是常數。 關節編號 α(繞x軸) a(沿x軸) θ(繞z軸&am…

python opencv立體測距 立體匹配BM算法

立體標定應用標定數據轉換成深度圖標定 在開始之前,需要準備的當然是兩個攝相頭,根據你的需求將兩個攝像頭進行相對位置的固定,我是按平行來進行固定的(如果為了追求兩個雙目圖像更高的生命度,也可以將其按一定鈍角固…

對于python 作用域新的理解

今天看Python習題,看到如下題目 def num():return [lambda x: i*x for i in range(4)] print([m(2) for m in num()])  # 求輸出結果是什么 我看了半天才明白這應該是一個列表生成式,列表中的元素為四個匿名函數,我本以為每個匿名函數應該是…

Vue基礎學習(一)------內部指令

一.v-if v-else v-show 指令 1.v-if v-if:是vue 的一個內部指令,指令用在我們的html中,用來判斷是否加載html的DOM 現在舉個栗子,判斷用戶的登錄操作,用isLogin作為一個判斷字段,登錄成功,就顯示用戶的名稱 代碼&…

【bzoj3555】[Ctsc2014]企鵝QQ 簡單哈希

傳送門 題目分析 題意即求有多少對字符串只相差一個字符,枚舉刪除每個字符后的哈希, 看有多少相等即可。 比如有如下字符串:$Sd123$,其中S部分的哈希值為H,刪除的是d,則原字符串的哈希值為$$(((H * T d) *…

StereoRectify()函數定義及用法畸變矯正與立體校正

畸變矯正是上一篇博文的遺留問題,當畸變系數和內外參數矩陣標定完成后,就應該進行畸變的矯正,以達到消除畸變的目的,此其一。 在該系列第一部分的博文中介紹的立體成像原理中提到,要通過兩幅圖像估計物點的深度信息&a…

死磕 java集合之TreeMap源碼分析(三)- 內含紅黑樹分析全過程

2019獨角獸企業重金招聘Python工程師標準>>> 歡迎關注我的公眾號“彤哥讀源碼”,查看更多源碼系列文章, 與彤哥一起暢游源碼的海洋。 刪除元素 刪除元素本身比較簡單,就是采用二叉樹的刪除規則。 (1)如果刪除的位置有兩…

Linux:進程實例信息(/proc)

https://blog.csdn.net/test1280/article/details/73632333 Linux:進程實例信息(/proc) 問幾個問題: 1.怎么知道一個進程對應哪個可執行文件? 2.怎么知道一個進程的資源限制? 3.怎么知道一個進程所處的環境&#xff1f…