[英]C++ OpenCV2 cv::Mat::copyTo error in linux
嘗試在Linux的OpenCV2中編譯以下代碼時,
cv::Mat image1, image2;
cv::Rect rect1, rect2;
...
image1(rect1).copyTo(image2(rect2));
我收到以下錯誤:
x.cpp:在成員函數'cv :: Mat Process(cv :: Mat)'中:
x.cpp:241:錯誤:沒有匹配的函數調用'cv :: Mat :: copyTo(cv :: Mat)'
cxcore.hpp:794:注意:候選者是:void cv :: Mat :: copyTo(cv :: Mat&)const
cxcore.hpp:796:注意:void cv :: Mat :: copyTo(cv :: Mat&,const cv :: Mat&)const
注意:此代碼可以在Windows中完美編譯並運行。
有什么幫助嗎?
從我在這里看到的,Mat的operator()需要一個Mat類型而不是Mat&的參數。 這似乎是這里的問題。
嘗試添加Mat類型的臨時對象。 見下文。
cv::Mat image1, image2;
cv::Rect rect1, rect2;
...
cv::Mat extractedImage2 = image1(rect2);
image1(rect1).copyTo(extractedImage2);
但是我必須說我不是openCV專家,所以這僅僅是基於我的c ++知識的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.