簡體   English   中英

像素坐標到3D線(opencv)

[英]Pixel coordinates to 3D line (opencv)

我在屏幕上顯示的圖像通過cvInitUndistortMap和cvRemap(已完成相機校准)未失真,用戶點擊圖像中的某個功能。 所以我有特征的(u,v)像素坐標,我也有內在矩陣和失真矩陣。

我正在尋找的是相機/真實世界坐標中的3D線的等式,用戶點擊的特征必須在該等式上。 我已經在攝像機的圖像平面和特征之間有垂直距離,所以我可以將它與上述方程式結合起來,給出空間特征的(X,Y,Z)坐標。

聽起來很簡單(反向內在矩陣或什么?)但我無法在任何地方找到逐步說明。 首選C ++或C#代碼。

這是一個有點老問題,但仍然可能對某人有用。 所有線都經過點(0,0,0),所以:

line.x0 = 0; line.y0 = 0; line.z0 = 0;

方向矢量如下:line.A =(u / fx) - (cx / fx); line.B =(v / fy) - (cy / fy); line.C = 1;

cx,cy,fx,fy是來自相機矩陣的參數。 方程式在“Learning OpenCv”一書中有解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM