簡體   English   中英

C ++ OpenCV2 CV ::墊::復制到Linux中的錯誤

[英]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.

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