繁体   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