1樓:魚丸還是粗麵
首先,不知道你是用這個函式來做什麼呢?只是呼叫它獲得camera的外引數嗎?還是說你發現了opencv中solvepnp在使用迭代法求解的時候中呼叫這個函式呢?
這個函式的原型在opencv中是這樣的:
引用自維基百科OpenCV China :影象處理,計算機視覺庫,Image Processing, Computer Vision
void cvFindExtrinsicCameraParams2( const CvMat* object_pointsconst CvMat* image_pointsconst CvMat* intrinsic_matrixconst CvMat* distortion_coeffsCvMat* rotation_vectorCvMat* translation_vector );
object_points
定標點的座標,為3xN或者Nx3的矩陣,這裡N是檢視中的個數。
image_points
定標點在影象內的座標,為2xN或者Nx2的矩陣,這裡N是檢視中的個數。
intrinsic_matrix
內參矩陣(A)
distortion_coeffs
大小為4x1或者1x4的向量,裡面為形變引數[k1,k2,p1,p2]。如果是NULL,所有的形變係數都為0。
rotation_vector
輸出大小為3x1或者1x3的矩陣,裡面為旋轉向量(旋轉矩陣的緊湊表示方式,具體參考函式cvRodrigues2)。
translation_vector
大小為3x1或1x3的矩陣,裡面為平移向量。
。3維物體上的點座標和相應的2維投影必須被指定。這個函式也可以用來最小化反投影誤差。
如果你想在進一步的了解這個函式內部是如何工作的
那麼就應該看下opencv原始碼檔案calibration.cpp(在opencv的原始檔中直接搜尋即可)
它的具體過程大致如下:
- 將空間點和影象點齊次化,得到影象點矩陣m空間點矩陣M,求取矩陣M的平均值Mc,
- 計算另外乙個矩陣mm=(MMc)T(MMc)
- 對空間點矩陣mm進行SVD分解,mm=UWV
ref:PnP - 何必濃墨重彩 - 部落格頻道 - CSDN.NET
OpenCV中 InputArray類究竟是幹什麼的?為什麼需要它?
Tony Lu 個人的理解,不從官網tutorial說了。有的函式需要介面是單幀影象,就乙個cv mat就可以了,有的函式需要或者返回多幀影象,如影象金字塔。那函式擴充套件,就把這些都封裝成InputArray,方便後續拓展和內部實現吧。 OpenCV大多數功能是直接通過函式來提供的,InputAr...
如何入門C 和OpenCV
野人2046 來不及了,轉方向吧。C 從小白到能用至少要半年,如果之前沒做過C 專案,勸你放棄。我之前就踩過相同的坑,最後兩個月換方向驚險過線。 如果目標是實現目標檢測,並且是科研目的不是工程目的。我建議直接學習Python。Python的學習成本非常低,很短的時間就可以上手。OpenCV也提供了很...
機器視覺學halcon好還是opencv好一點?
還能什 從實際應用角度來說,用Halcon會好些,畢竟我們的首要目標是活下來,實際機器視覺應用用Halcon的很多。OpenCv的話,需要公司給你時間去慢慢出成果,非常耗時,老闆不一定有耐心,但是從成本上考慮肯定是開源的high啊。 如果在學校裡,幾乎所有人都會推薦OpenCV 但如果你去工作,會發...