針孔相機拍攝的圖像坐標和空間點的對應關系

一:攝像機成像原理

????????攝像機成像模型一般有三種:透鏡投影模型(小孔攝像機模型)、正交投影模型和透視投影模型

光學中最基本的高斯成像公式:1/u?+?1/v?=?1/f?????? (式一)

原理圖如下:

二:認識三個坐標系

????????????????????????????????????????????

???????????????????????????????????????????????????????????????????????????????????????????????????????????? 三個坐標系的關系圖

如上圖表示的三個坐標系分別為世界坐標系,攝像機坐標系,圖像坐標系

1:世界坐標系(Xw Yw Zw

??? 用戶定義的空間三維坐標系,用來描述三維空間中的物體和相機之間的坐標位置,滿足右手法則

2:攝像機坐標系(Xc Yc Zc

以相機的光心作為原點,Zc軸與光軸重合,并垂直于成像平面,且取攝影方向為正方向,XcYc軸與圖像物理坐標系的x,y軸平行,且OcO為攝像機的焦距f

3:圖像坐標系

是以圖像的左上方為原點,的圖像坐標系(u v)(此坐標以像素為單位),這里我們建立了圖像物理坐標系(x y)為xoy坐標系(此坐標系以毫米為單位)。

三:相機標定原理

?

1:剛體變換

???????? 剛體變換的過程就是世界坐標系中的一點到攝像機坐標系中的點,可以由一個旋轉矩陣R和一個平移矩陣t來描述,則存在如下剛體變換公式:

3:幾何畸變

由于攝像機制造工藝偏差,以及入射光線在通過各個透鏡時的折射誤差和CCD點陣位置誤差等,實際的光學系統存在著非線性幾何失真,從而使目標像點與理論像點之間存在著多種幾何畸變。

幾何畸變主要包括徑向畸變、切向畸變和薄棱鏡畸變。

1) 徑向畸變

徑向畸變可分為枕形畸變和桶形畸變,主要由鏡頭形狀缺陷造成。徑向畸變效果圖如圖

其數學模型為:

?????????????????????????????????

其中,為徑向畸變系數。

2) 切向畸變

切向畸變主要包括離心畸變和薄棱鏡畸變。其中,離心畸變是由攝像機的鏡頭中各透鏡的光軸不能完全重合造成的。

切向畸變的數學模型可表示為:

??????????????

綜上可得理想圖像點坐標和實際圖像點坐標之間的關系可表示為:

??????

其中,是理想圖像點的坐標。

3) 薄棱鏡畸變

薄棱鏡畸變是由鏡頭設計和制造缺陷等誤差造成的,比如鏡頭與攝像機像面之間有很小的傾角等。這類畸變就相當于是在光學系統中附加了一個薄棱鏡,所以它不僅會引起徑向偏差,而且還會引起切向誤差。薄棱鏡畸變的數學模型為:

?????

?????????

???

?

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

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

相關文章

window.onload中動態獲得img的高度

$(function(){}); window.οnlοadfunction(){} $(function(){}) 是在DOM結構渲染完成以后調用的,這時候網頁中一些資源還沒有加載,比如圖片等資源,但是DOM結構已經渲染成功了 window.onload是在網頁DOM結構渲染完成,而且資源已經…

HALCON關于顯示的函數與介紹(持續更新)

點擊下方直達算子藍色字體 目錄1、dev_update_off ();dev_update_on2、dev_close_window ()3、dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)4、set_display_font( : : WindowHandle, Size, Font, Bold, Slant : )5、dev_set_draw(…

python -- 三元運算符

格式 : a if 條件 else b 示例 : 在 return 中使用 def com(a,b): # 返回最大值return a if a > b else b賦值時使用: l 1 if 2 > 1 else 2轉載于:https://www.cnblogs.com/yanjingnan/p/6494786.html

矩陣乘法

矩陣乘法的通俗的我自己用的理解方式 CAB. 則Cij∑aikbkj (k屬于那個范圍),所以首先矩陣相乘的必須是A矩陣的列數等于b矩陣的行數。 第二就是C的意義了,cij表示A的第i行與B的第j列每個數對應相乘,因為上面的條件,所以A的第i行的數…

HALCON示例程序classify_image_class_knn.hdev使用KNN分類器對多通道圖像進行分割

HALCON示例程序classify_image_class_knn.hdev使用KNN分類器對多通道圖像進行分割 示例程序源碼(加注釋) 顯示相關設置 dev_update_off () dev_close_window () dev_open_window (0, 0, 735, 485, ‘black’, WindowHandle) set_display_font (WindowH…

DELL XPS 9350 無線網卡DW1820A WIN7驅動異常解決

電腦型號:戴爾XPS 13 9350 故障現象: 安裝完其他驅動都正常,打上官網的無線藍牙一體驅動,只能驅動藍牙,無線網卡無法驅動 故障解決: 開機F2,到Wireless選項現將藍牙功能關閉,保存重啟到windows下,將官網的無線驅動解壓到文件夾,在設備管理器中選中未知的網絡設備點更新驅動,手動…

粥做得好不好,全憑一個良心!

粥做得好不好,全憑一個良心! 工作不也是憑良心么! 文章中的紅色字體表達了一切! 霜降節氣的到來,意味著冬季的臨近,而霜降后氣溫的降低,利于蔬菜的淀粉沉淀,收漿后的蓮藕也變得更為…

內存分配詳解 malloc, new, HeapAlloc, VirtualAlloc,GlobalAlloc

很多地方都會使用內存,內存使用過程中操作不當就容易崩潰,無法運行程序,上網Google學習一下,了解整理下他們之間的區別以及使用 ,獲益匪淺 0x01 各自的定義和理解 (1)先看GlobalAlloc() GlobalAlloc()主要用于Win32應用…

黑盒測試

引言: 什么是黑盒測試呢!? 像我一樣的測試小白就會望文生義了:對黑盒子測試 那么黑盒子是什么!? 思考5秒后,得出了這樣的答案:黑盒子就是黑色的盒子,嘿嘿! 正文&#xf…

HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分類器分割RGB圖像

HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分類器分割RGB圖像 示例程序源碼(加注釋) 關于顯示相關顯示在其他帖子有介紹。 dev_update_off () dev_close_window () dev_open_window (0, 0, 735, 485, ‘black’, WindowHandle) set_disp…

Expo大作戰(十二)--expo中的自定義樣式Custom font,以及expo中的路由RouteNavigation

簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻個人修改補充…

懸浮按鈕

效果圖 //將dp轉換為px public static int dip2px(Context context, float dpValue) {final float scale context.getResources().getDisplayMetrics().density;return (int) (dpValue * scale 0.5f); }//浮動圖片監聽 private void initListener() {//彈出對話框jianwen.set…

HALCON示例程序classify_image_class_svm.hdev使用SVM分類器對多通道圖像進行分類

HALCON示例程序classify_image_class_svm.hdev使用SVM分類器對多通道圖像進行分類 示例程序源碼(加注釋) 由于關于SVM分類器的使用之前的貼子介紹過,所以關于SVM的函數,直接點擊函數可跳轉到之前的介紹貼子。 顯示函數解釋 dev…

React Native實現NbaApp

rnNba 介紹 本項目為react-native構建的Nba App 設計靈感參考于:靈感來源( 其實就是參考樣式 功能簡單了很多,因為比較懶233333 功能 nba比分查詢球員數據查詢球隊排名查詢項目地址

圖像坐標:我想和世界坐標談談(A) 【計算機視覺學習筆記--雙目視覺幾何框架系列】

玉米竭力用輕松具體的描述來講述雙目三維重建中的一些數學問題。希望這樣的方式讓大家以一個輕松的心態閱讀玉米的《計算機視覺學習筆記》雙目視覺數學架構系列博客。這個系列博客旨在捋順一下已標定的雙目視覺中的數學主線。數學推導是有著幾分枯燥的,但奇妙的計算…

沖刺總結博客

項目預期計劃 完美的完成我們的耿丹師生基本信息管理系統,可以實現增刪改查等功能,能運用到我們學校里去。 實際進展 實現了增刪改查功能,但是要是真的運用到學校中去,功能還是太單一。 過程體會 這個項目是我們小組成立之后&…

img

轉載于:https://www.cnblogs.com/SoulCode/p/6508720.html

HALCON示例程序clip.hdev曲別針方向識別

HALCON示例程序clip.hdev曲別針方向識別 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_window (‘off’) 讀入圖片 read_image (Clip, ‘clip’) 獲得圖片尺寸大小 get_image_size (Clip, Width, Height) dev_close_window () dev_open_windo…

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

二、圖像坐標:我想和世界坐標談談(B) 玉米將在這篇博文中,對圖像坐標與世界坐標的這場對話中涉及的第二個問題:談話方式,進行總結。世界坐標是怎樣變換進攝像機,投影成圖像坐標的呢? 玉米做了一個簡單的圖示…

c#基礎 函數

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