簡體   English   中英

轉換矢量 <Point3f> 到OpenCV中的CvMat *?

[英]Convert vector<Point3f> to CvMat* in OpenCV?

我正在使用C ++ OpenCV接口但需要使用尚未為接口重新實現的函數,因此使用舊約定(如果重要,則函數為cvFindExtrinsicCameraParams2

所以我需要將vector<Point3f>轉換為CvMat* ...我該怎么做?

希望這有助於cv :: solvePnP()

cvFindExtrinsicCameraParams2已重命名為solvePnP

我不確定結果應該是什么,但是如果我正確閱讀了文檔 ,則可以通過幾個步驟來轉換類型:

首先,為CvMat*創建新的對應Mat

std::vector<Point3f> myVec = ...;
//template<typename _Tp> explicit Mat(const vector<_Tp>& vec, bool copyData=false);
Mat m = Mat(myVec);

然后使用Mat的強制轉換操作符:

//operator CvMat() const;
CvMat cvm = static_cast<CvMat>(m);

最后調用你的功能

cvFindExtrinsicCameraParams2(...,&cvm,...);

但是,我沒有使用OpenMv的經驗,所以我只引用文檔。 這可能無法反映您希望它做什么,在這種情況下,您可能需要澄清您的問題。

暫無
暫無

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

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