[英]How to assigne a cv::Scalar to cv::Mat?
使用OpenCV中实现的Scalar类,我不明白这段代码之间的区别是什么:
Mat test;
test = Scalar::all(0);
和这个:
Mat test = Scalar::all(0);
^
我的问题是,为什么第一次分配正确而第二次分配不正确?
以Vec<_Tp,n>
为参数的Mat
构造函数的声明为
template<typename _Tp, int n>
explicit Mat(const Vec<_Tp, n>& vec, bool copyData=true);
cv::Scalar
被视为Vec<_Tp,4>
因此您可以通过显式方式将Scalar
传递给Mat
构造函数。 Class obj(parameter);
不是Class obj = parameter;
所以打电话
Mat test(Scalar::all(0));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.