c++ - Mat::copyTo() 函数错误

标签 c++ opencv

我正在尝试将较小的图像复制到较大图像的中心。 这是代码:

src.copyTo(dest(Rect(50,50,src.cols,src.rows)));

srcdest 都是 Mats,destsrc 的 5 倍,假设是 50, 50 是目标的中心。

我收到以下错误:

no matching function for call to 'cv::Mat::copyTo(cv::Mat)'

任何修复?

最佳答案

尝试在调用 copyTo 后构建目标 Mat:

Mat roi = dest(Rect(50,50,src.cols,src.rows));
src.copyTo(roi);

这应该有效。 copyTo 接受一个 OutputArray 作为参数。代理类 InputArray 和 OutputArray 被定义为 const 引用,因此出现错误。 http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=copyto#inputarray

关于c++ - Mat::copyTo() 函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24568498/

相关文章:

c++ - 如何将用 C++ 编写并使用 Linux GCC 编译的程序移植到 Windows?

c++ - 运算符的初始化列表和 RHS

c++ - std::vector<const char *> 的赋值效果错误?

c++ - 使用 boost::range::sort

c++ - 释放 std::list<cv::Mat> c++ 的内存

非具体类型的 C++ 模板特化(另一个模板类!)

Python截取屏幕截图并将其保存到缓冲区

python - 从非常嘈杂的二值阈值图像中过滤噪声

ios - 在 iOS 上使用 openCV 的高动态范围成像产生乱码输出

opencv - 如何通过网络摄像头实时识别图像并使用Keras实时准确显示标签