向量构造函数和垫子

Posted

技术标签:

【中文标题】向量构造函数和垫子【英文标题】:Vector Constructor and Mat 【发布时间】:2013-03-23 13:32:27 【问题描述】:

如何在 OpenCV 中将 3 元素向量构造函数与 Mat 相乘? 我尝试了以下方法,但它引发了错误:

cv::multiply(src, cv::Vec<_Tp, 3>(2.0, 1.0, 1.0), src);

它给出了以下错误:

OpenCV Error: Assertion failed (src2.type() == CV_64F && (src2.rows == 4 || src2.rows == 1)) in arithm_op, file /Users/abhishek/Documents/OpenCV-2.4.3/modules/core/src/arithm.cpp, line 1275
libc++abi.dylib: terminate called throwing an exception

【问题讨论】:

src的定义是什么? cv::Mat_<:vec> >& src 您想要逐通道乘法吗?只是将 BGR 缩放 B*2、G*1、R*1? 【参考方案1】:

你试过了吗:

cv::multiply(src, cv::Scalar(2.0, 1.0, 1.0), src);

【讨论】:

以上是关于向量构造函数和垫子的主要内容,如果未能解决你的问题,请参考以下文章

在构造函数中创建的外部向量

在类构造函数上初始化向量

无法从构造函数中将数组值传递给向量

c++向量构造函数实例化冲突

创建对象向量时,不为每个对象唯一地调用默认对象构造函数

带有向量的类构造函数中的析构函数调用