日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GL 与 CV 管线 (pipeline) 比较与相互转换

發布時間:2025/3/15 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GL 与 CV 管线 (pipeline) 比较与相互转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里把二者作一個比較,并對相關的矩陣做一個聯系以使能夠相互轉換。

1. CV中圖像形成過程 (transformation stages)

這一過程可概括為四個坐標系的轉換,分別為:世界坐標系、相機坐標系、圖像坐標系、像素坐標系,如下圖:

對應的,來看一個頂點從世界坐標中(X_w, Y_w, Z_w,1)到圖像上(u,v)處的一系列變換:

其中,f即有效焦距,(u_c, v_c)為principle point, (dx, dy)為像素點的物理大小

為簡明起見,以上過程中沒有考慮畸變。畸變使圖像坐標(image coordinate)變得不準確。

假如理想的圖像坐標為(X_i, Y_i, W_i),而畸變后的圖像坐標為(X_d, Y_d, W_d),通常使用如下公式來對它們的關系建模:

我們可以將這一變化放到M_{i1}矩陣中。

?

在視覺中,常需要對相機進行標定,會得到內參、外參兩個結果,這兩個結果對應于M_{i1}M_{i2}及M_e兩個矩陣.

?

2. GL中圖像形成過程 (transformation stages)

這一部分是由OpenGL的pipeline規定的,詳請參考OpenGL Specification。

大致過得是:

這里要強調的是投影矩陣(projection matrix),即圖中M_p, 以及矩陣M_v。 至于模型視圖矩陣M_{mv}則與CV中的一致。

2.1投影矩陣及變換

OpenGL提供了API來設置投影矩陣projection matrix,glu也提供了輔助函數gluPerspective,需要四個參數 fovy, aspect, zFar, zNear。

這個函數生成一個4*4矩陣,對Eye Coordinate中的坐標進行變換:

2.2 視口矩陣及變換

視口矩陣將坐標從NDC(標準設備坐標)變換至窗口上, 使用glViewport來設置四個參數 x_0, y_0, width, height

生成變換的變換如下:

2.3 成像過程

這樣,我們可以看到GL中整個坐標變換過程為:

?

3. CV/CG中矩陣的對應

從CV的坐標變換過程, 我們最終可以推導得到:

,其中

從GL的坐標變換過程,推導出:

?

因此,

1. 假若已知GL參數,則可求出CV參數為:

2. 假若已知CV參數,則可求出GL參數為:

?

?

參考:《correspondence analysis between the image formation pipelines of graphics and vision》

轉載于:https://www.cnblogs.com/justin_s/archive/2012/09/06/2672913.html

總結

以上是生活随笔為你收集整理的GL 与 CV 管线 (pipeline) 比较与相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。