我的图像定义如下:
cv::Mat mapCanva = cv::Mat(256, 256, CV_8UC1, cv::Scalar::all(0));
和其他
cv::Mat shapeToBlit is loaded from png file, its 100x100
shapeToBlit .copyTo(mapCanva );
工作正常,但生成的图像为100x100,而我希望将shapeToBlit复制到mapCanvas顶部,所以我这样做:
cv::Mat insetImage = mapCanva(cv::Rect(0, 0, 100, 100));
shapeToBlit .copyTo(insetImage);
但是结果只是空白,就像什么都没有复制一样。嗯嗯。
如果我这样做:
shapeToBlit .copyTo(mapCanva(cv::Rect(100, 100, ourWidth, ourHeight)));
我的应用只是在行上的matrix.cpp内部崩溃:
CV_Assert(!fixedSize() || ((Mat*)obj)->size.operator()() == Size(cols, rows));
我在做什么错?在版本2.4和3.4上都尝试过