探索相機成像的奧秘 - 齊次坐標、徑向失真和圖像傳感器傾斜

引言

大家好!今天我們將一起探索相機成像背后的一些關鍵技術概念:齊次坐標、徑向失真和圖像傳感器傾斜。這些概念對于理解相機如何捕捉和處理圖像至關重要。我們將通過簡單易懂的語言和嚴謹的公式來詳細解釋這些概念。

齊次坐標(Homogeneous Coordinates)

什么是齊次坐標?

齊次坐標是射影幾何中使用的一種坐標系統,它允許我們用有限的坐標表示無窮遠的點,并且簡化了許多幾何變換的公式。在齊次坐標中,我們通過在n維笛卡爾向量后面添加一個1來獲得齊次向量。

齊次坐標的優勢

  1. 表示無窮遠點:在齊次坐標中,無窮遠點可以用有限的坐標表示。例如,在2D空間中,點 ((x, y, 0)) 表示一個無窮遠點,其方向由 ((x, y)) 確定。
  2. 簡化公式:齊次坐標可以簡化許多幾何變換的公式。例如,仿射變換(包括平移、旋轉、縮放等)可以用一個線性齊次變換矩陣來表示。

齊次坐標的變換

齊次坐標允許我們用矩陣乘法來表示各種幾何變換。例如,一個3D點 (P_w = (X_w, Y_w, Z_w, 1)) 可以通過一個4×4的齊次變換矩陣 (T) 變換到另一個坐標系:

P c = T P w P_c = T P_w Pc?=TPw?

其中:

  • (P_c) 是變換后的點。
  • (T) 是齊次變換矩陣,包含了旋轉、平移、縮放等變換信息。

徑向失真

什么是徑向失真?

實際鏡頭通常會有失真,主要是徑向失真和切向失真。徑向失真是指圖像邊緣的點偏離直線路徑的現象。

徑向失真模型

  1. 基本公式
    [ u v ] = [ f x x ′ ′ + c x f y y ′ ′ + c y ] \begin{bmatrix} u \\ v \end{bmatrix} = \begin{bmatrix} f_x x'' + c_x \\ f_y y'' + c_y \end{bmatrix} [uv?]=[fx?x′′+cx?fy?y′′+cy??]

    • (u, v) 是圖像上的坐標。
    • (f_x, f_y) 是相機的焦距。
    • (c_x, c_y) 是主點坐標。
    • (x’‘, y’') 是經過徑向失真校正后的坐標。
  2. 徑向失真校正
    [ x ′ ′ y ′ ′ ] = [ x ′ 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 y ′ 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ] \begin{bmatrix} x'' \\ y'' \end{bmatrix} = \begin{bmatrix} \frac{x'}{1 + k_1 r^2 + k_2 r^4 + k_3 r^6} \\ \frac{y'}{1 + k_1 r^2 + k_2 r^4 + k_3 r^6} \end{bmatrix} [x′′y′′?]=[1+k1?r2+k2?r4+k3?r6x?1+k1?r2+k2?r4+k3?r6y??]

    • (r^2 = x’^2 + y’^2)
    • (k_1, k_2, k_3) 是徑向失真系數。

圖像傳感器傾斜

什么是圖像傳感器傾斜?

在某些情況下,圖像傳感器可能會傾斜,導致透視失真。這種失真可以通過旋轉變換來校正。

傾斜模型

  1. 基本公式
    [ u v ] = [ f x x ′ ′ ′ + c x f y y ′ ′ ′ + c y ] \begin{bmatrix} u \\ v \end{bmatrix} = \begin{bmatrix} f_x x''' + c_x \\ f_y y''' + c_y \end{bmatrix} [uv?]=[fx?x′′′+cx?fy?y′′′+cy??]

    • (x’‘’, y’‘’) 是經過傾斜校正后的坐標。
  2. 傾斜校正
    [ x ′ ′ ′ y ′ ′ ′ ] = [ R 33 ( τ z , τ y ) 0 ? R 13 ( τ z , τ y ) 0 R 33 ( τ z , τ y ) ? R 23 ( τ z , τ y ) 1 0 0 ] [ x ′ ′ y ′ ′ 1 ] \begin{bmatrix} x''' \\ y''' \end{bmatrix} = \begin{bmatrix} R_{33}(\tau_z, \tau_y) & 0 & -R_{13}(\tau_z, \tau_y) \\ 0 & R_{33}(\tau_z, \tau_y) & -R_{23}(\tau_z, \tau_y) \\ 1 & 0 & 0 \end{bmatrix} \begin{bmatrix} x'' \\ y'' \\ 1 \end{bmatrix} [x′′′y′′′?]= ?R33?(τz?,τy?)01?0R33?(τz?,τy?)0??R13?(τz?,τy?)?R23?(τz?,τy?)0? ? ?x′′y′′1? ?

    其中,旋轉矩陣 (R(\tau_x, \tau_y)) 定義為:
    R ( τ x , τ y ) = [ cos ? ( τ y ) 0 ? sin ? ( τ y ) 0 1 0 sin ? ( τ y ) 0 cos ? ( τ y ) ] [ 1 0 0 0 cos ? ( τ z ) sin ? ( τ z ) 0 ? sin ? ( τ z ) cos ? ( τ z ) ] R(\tau_x, \tau_y) = \begin{bmatrix} \cos(\tau_y) & 0 & -\sin(\tau_y) \\ 0 & 1 & 0 \\ \sin(\tau_y) & 0 & \cos(\tau_y) \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\tau_z) & \sin(\tau_z) \\ 0 & -\sin(\tau_z) & \cos(\tau_z) \end{bmatrix} R(τx?,τy?)= ?cos(τy?)0sin(τy?)?010??sin(τy?)0cos(τy?)? ? ?100?0cos(τz?)?sin(τz?)?0sin(τz?)cos(τz?)? ?

    簡化后的旋轉矩陣:
    R ( τ x , τ y ) = [ cos ? ( τ y ) cos ? ( τ z ) ? sin ? ( τ y ) cos ? ( τ z ) sin ? ( τ z ) cos ? ( τ y ) sin ? ( τ z ) sin ? ( τ y ) sin ? ( τ z ) ? cos ? ( τ z ) ? sin ? ( τ y ) cos ? ( τ y ) 0 ] R(\tau_x, \tau_y) = \begin{bmatrix} \cos(\tau_y) \cos(\tau_z) & -\sin(\tau_y) \cos(\tau_z) & \sin(\tau_z) \\ \cos(\tau_y) \sin(\tau_z) & \sin(\tau_y) \sin(\tau_z) & -\cos(\tau_z) \\ -\sin(\tau_y) & \cos(\tau_y) & 0 \end{bmatrix} R(τx?,τy?)= ?cos(τy?)cos(τz?)cos(τy?)sin(τz?)?sin(τy?)??sin(τy?)cos(τz?)sin(τy?)sin(τz?)cos(τy?)?sin(τz?)?cos(τz?)0? ?

  3. 應用旋轉變換
    [ x ′ ′ ′ y ′ ′ ′ 1 ] = [ cos ? ( τ y ) cos ? ( τ z ) cos ? ( τ y ) sin ? ( τ z ) ? sin ? ( τ y ) ? sin ? ( τ y ) cos ? ( τ z ) sin ? ( τ y ) sin ? ( τ z ) cos ? ( τ y ) sin ? ( τ z ) ? cos ? ( τ z ) 0 ] [ x ′ ′ y ′ ′ 1 ] \begin{bmatrix} x''' \\ y''' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos(\tau_y) \cos(\tau_z) & \cos(\tau_y) \sin(\tau_z) & -\sin(\tau_y) \\ -\sin(\tau_y) \cos(\tau_z) & \sin(\tau_y) \sin(\tau_z) & \cos(\tau_y) \\ \sin(\tau_z) & -\cos(\tau_z) & 0 \end{bmatrix} \begin{bmatrix} x'' \\ y'' \\ 1 \end{bmatrix} ?x′′′y′′′1? ?= ?cos(τy?)cos(τz?)?sin(τy?)cos(τz?)sin(τz?)?cos(τy?)sin(τz?)sin(τy?)sin(τz?)?cos(τz?)??sin(τy?)cos(τy?)0? ? ?x′′y′′1? ?

  4. 最終投影公式
    [ u v ] = [ f x x ′ ′ ′ + c x f y y ′ ′ ′ + c y ] \begin{bmatrix} u \\ v \end{bmatrix} = \begin{bmatrix} f_x x''' + c_x \\ f_y y''' + c_y \end{bmatrix} [uv?]=[fx?x′′′+cx?fy?y′′′+cy??]

通過上述步驟,我們可以得到校正后的圖像坐標 ((u, v)),從而消除由于圖像傳感器傾斜引起的透視失真。

總結

  • 齊次坐標:通過在笛卡爾坐標后面添加一個1來獲得齊次向量,簡化了許多幾何變換的公式。
  • 徑向失真校正:通過徑向失真系數 (k_1, k_2, k_3) 校正圖像邊緣的失真。
  • 圖像傳感器傾斜校正:通過旋轉變換矩陣 (R(\tau_x, \tau_y)) 校正由于傳感器傾斜引起的透視失真。

希望這篇文章能幫助你更好地理解相機中的齊次坐標、徑向失真和傳感器傾斜校正!

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

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

相關文章

校企協同育人,智慧養老實訓基地助力人才就業無憂

隨著我國人口老齡化程度不斷加深,智慧養老產業蓬勃發展,對專業人才的需求日益迫切。校企協同打造智慧養老實訓基地,成為解決人才供需矛盾、提升人才培養質量的重要途徑。通過科學的建設方案,智慧養老實訓基地能夠為學生提供實踐平…

從需求到落地:一個AI訓練平臺的售前全流程復盤

目錄 一、項目背景:客戶要建自己的AI訓練平臺 二、需求梳理三板斧:并發量、存儲帶寬、模型種類 1. 并發訓練量 2. 存儲帶寬需求 3. 模型類型與參數規模 三、解決方案設計:GPU選型 + 高速網絡 + 存儲架構 ? GPU服務器選型 ? 網絡與通信架構 ? 存儲與數據緩存 四…

織夢DedeCMS轉WordPress

最近,有個用戶找模板兔遷移網站,源站用的dede,需要轉成wp,文章數量大概7000-8000篇,其中有個需求是保證舊文章的鏈接有效,在wp上的新文章與舊文章的鏈接類型不一樣,所以這涉及到偽靜態來處理跳轉…

installGo.sh

#!/bin/bash # 檢查是否以root用戶運行 if [ "$(id -u)" -ne 0 ]; then echo "請使用root權限運行此腳本" exit 1 fi # 檢查是否安裝了必要的工具 for cmd in curl wget tar; do if ! command -v $cmd &> /dev/null; then echo…

【技術難題】el-table的全局數據排序實現示例,不受分頁影響,以及異步請求帶來的頁面渲染問題

參考鏈接:https://blog.csdn.net/qq_35770559/article/details/131183121 問題代碼 編輯頁面detail.vue <el-form title="列表信息" name="detail"><el-form><el-form-item><el-buttontype="cyan"icon="el-icon-p…

非功能測試

非功能測試范疇&#xff1a;界面測試&#xff0c;易用性測試&#xff0c;兼容性測試&#xff0c;文檔測試&#xff0c;安裝/卸載測試等等 界面測試 1.窗體界面測試 1.窗體定義&#xff1a;指整個軟件窗口&#xff0c;也可稱為窗口&#xff0c;是界面測試的基本單位 2.控件分…

一起endpoint迷路的問題排查總結

今天上班&#xff0c;一到工位上&#xff0c;就有同事和我說有客戶反映自己的容器的一些指標在監控平臺不上報了&#xff0c;我當時一看機器所在的監控&#xff0c;發現確實是這樣 確實存在某個點開始數據就沒了&#xff0c;主要這個點當時也沒有任何的操作變更&#xff0c;于…

官方 Linker Scripts 語法和規則解析(2)

系列文章目錄 官方 Linker Scripts 語法和規則解析&#xff08;1&#xff09; 官方 Linker Scripts 語法和規則解析&#xff08;2&#xff09; 官方 Linker Scripts 語法和規則解析&#xff08;3&#xff09; 鏈接腳本(Linker Scripts)語法和規則解析(自官方手冊) 7.9. 鏈接腳…

CentOS 7 通過YUM安裝MySQL 8.0完整指南

一、準備工作&#xff1a;更新系統與YUM源 # 1. 更換阿里云鏡像源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 2. 清理并重建緩存 yum clean all yum makecache# 3. 升級系統所有包 yum -y update 二、安裝MySQL 8.0 1. 下載…

qq郵箱 新版 怎么去掉個性簽名?

qq郵箱 新版 怎么去掉個性簽名&#xff1f; 新版的qq郵箱&#xff0c;用著還不錯&#xff0c;特別是搜索&#xff0c;比以前好多&#xff0c;以前加載的時候&#xff0c;搜索框里有一行字&#xff0c;加載不完&#xff0c;就沒法搜索&#xff0c;特別菜。現在好多了。 不過現在…

C++:string類(1)

一.初步了解STL STL是Standard Template Library的縮寫&#xff0c;中文譯為標準模板庫&#xff0c;是C標準庫的重要組成部分。它本質上是一套基于模板的通用編程工具&#xff0c;通過模板技術實現了數據結構和算法的抽象與復用&#xff0c;讓開發者無需重復編寫基礎功能&…

如何避免靜態變量初始化中的異常

確保初始化表達式的安全性 基本數據類型初始化 對于基本數據類型&#xff08;如int、double、boolean等&#xff09;的靜態變量初始化&#xff0c;要確保賦值的表達式是合法的。例如&#xff0c;在初始化一個int類型的靜態變量時&#xff0c;避免出現除數為零的情況。 class Sa…

【151】基于Springboot+Vue實現的校園訂餐管理系統小程序(有文檔+PPT+視頻)

系統介紹 視頻演示 基于SpringbootVue實現的校園訂餐管理系統小程序&#xff08;有文檔PPT視頻&#xff09; 基于SpringbootVue實現的校園訂餐管理系統小程序采用前后端分離的架構方式&#xff0c;系統設計了管理員、商家、用戶三種角色&#xff0c;系統分為管理端、小程序端&…

從 0 到 1:基于 Qwen3 Embedding 的 RAG 智能問答系統搭建指南

RAGFlow 是一個基于深度文檔理解的開源 RAG&#xff08;檢索增強生成&#xff09;引擎。 與 LLM 集成后&#xff0c;它能夠提供真實的問答功能&#xff0c;并以來自各種復雜格式數據的可靠引用為支撐。 教程鏈接&#xff1a;OpenBayes 控制臺 使用云平臺:OpenBayes signup -…

Prompt Distillation for Efficient LLM-based Recommendation

題目 基于LLM的高效推薦的快速蒸餾 論文地址&#xff1a;https://dl.acm.org/doi/10.1145/3583780.3615017 摘要 大語言模型&#xff08;LLM&#xff09;在各種任務上表現出了無與倫比的建模能力&#xff0c;例如多步推理&#xff0c;但是這些模型的輸入大部分僅限于純文本&am…

JDBC 工具類:1.0到3.0版本

一、引言 在 Java 開發中&#xff0c;與數據庫的交互是一項常見且重要的任務。JDBC&#xff08;Java Database Connectivity&#xff09;作為 Java 語言訪問數據庫的標準 API&#xff0c;為我們提供了統一的接口來操作各種數據庫。然而&#xff0c;每次進行數據庫操作都編寫大…

實驗室建設案例 | 洛陽職業技術學院—人工智能實驗室

院校簡介 洛陽職業技術學院位于千年古都、牡丹花城、絲路起點洛陽&#xff0c;是一所由洛陽市政府舉辦的公辦高職院校&#xff0c;成立于2011年&#xff0c;辦學歷史可追溯到1945年的豫西公學。學校全面貫徹黨的教育方針&#xff0c;圍繞落實立德樹人根本任務&#xff0c;秉承“…

vue2中,修改對象數組中元素對應的屬性,頁面不更新的問題解決

有如下代碼&#xff1a; // 有一個數組 let dataAry [{name: haha, age: 20},{name: hello, age: 21} ] // 這個數組在模板中使用了v-for進行循環 v-for"one of dataAry" :name"one.name" :address"one.address"// 子組件中使用如下&#xff…

代理模式:控制對象訪問的守門員[特殊字符],優雅實現功能增強與訪問控制!

代理模式&#xff1a;控制對象訪問的守門員&#x1f510;&#xff0c;優雅實現功能增強與訪問控制&#xff01; 文章目錄 代理模式&#xff1a;控制對象訪問的守門員&#x1f510;&#xff0c;優雅實現功能增強與訪問控制&#xff01;前言&#xff1a;為什么需要代理&#xff1…

《人間詞話》PPT課件

《人間詞話》簡介 《人間詞話》是王國維所著的一部文學批評著作。《人間詞話》作于1908&#xff5e;1909年&#xff0c;最初發表于《國粹學報》。該作是作者接受了西洋美學思想之洗禮后&#xff0c;以嶄新的眼光對中國舊文學所作的評論。 《人間詞話》PPT課件下載 夸克網盤分享…