OpenCV的做法

时间:2012-02-20 16:26:35

标签: c++ opencv

为什么我不能这样做:

cv::Mat img = imread("path/to/image1");
cv::Mat img2 = imread("path/to/image2");
img.ptr<uchar>(0,0) = img2.ptr<uchar>(0,0);

我从VS收到此消息:表达式必须是可修改的左值

所以我不得不求助于这样的事情:

img.ptr<uchar>(0,0)[0] = img2.ptr<uchar>(0,0)[0];

影响每个频道,它不会打扰我,但我想知道为什么我不能做另一个。

1 个答案:

答案 0 :(得分:-1)

=运算符需要知道它是什么类型的图像,并且需要复杂的平面图像类型代码。

您可以使用CV_IMAGE_ELEM