我試圖創建一個矩陣,其列包含其他矩陣行的數據。然而,我的編譯器告訴我,雖然它的編號爲in the docs,但它沒有像Mat::copyTo(Mat)
這樣的函數,我的IDE自動完成它(意味着它在標題中,並且標題包含在其中)。將一個矩陣複製到另一個列中
binary.row(selectedRow).reshape(1).copyTo(data.col(0));
reduced.row(selectedRow).reshape(1).copyTo(data.col(1));
任何想法爲什麼會失敗?我厭倦了OpenCV的InputArray
/OutputArray
風格,我希望他們只是將方法簽名與實際期望的方法匹配,而不是依賴編譯時/運行時錯誤。
編輯:我知道我可以只運行一個for
環和複製數據,並用它做,但應該有一個簡單的方法來做到這一點使用OpenCV的方法。
EDIT2:這裏是實際的錯誤:
/usr/include/opencv2/core/core.hpp:1651:10: note: void cv::Mat::copyTo(cv::OutputArray) const
/usr/include/opencv2/core/core.hpp:1651:10: note: no known conversion for argument 1 from 'cv::Mat' to 'cv::OutputArray {aka const cv::_OutputArray&}'
/usr/include/opencv2/core/core.hpp:1653:10: note: void cv::Mat::copyTo(cv::OutputArray, cv::InputArray) const
/usr/include/opencv2/core/core.hpp:1653:10: note: candidate expects 2 arguments, 1 provided
究竟是什麼錯誤? – 2013-04-07 18:03:34
您是否告訴編譯器在哪裏搜索頭文件?你有沒有告訴你的編譯器有關其他頭文件? – 2013-04-07 18:29:07
您是否嘗試*閱讀*鏈接的文檔? 'CopyTo'不會將'Mat'作爲參數;它需要一個'OutputArray'。 – WhozCraig 2013-04-07 18:48:36