繁体   English   中英

如何将cv :: Scalar分配给cv :: Mat?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM