【发布时间】:2016-04-21 08:27:49
【问题描述】:
如何在 OpenCV 中编写向量?包含 3 个类似 v = [p1,p2,p3] 的值?这是我尝试过的:
int dim [1] = {3};
Mat v(1,dim,CV_32F, Scalar(p1,p2,p3));
但是当我在 Qt 中进行调试时,我在本地和表达式窗口中看到向量 v 确实有 1 列和 3 行,但也有 2 个暗淡。我想知道这是否是由于声明中的 Mat 类型。
我可以用哪种类型替换它以获得一个包含 3 个值的简单向量?
【问题讨论】:
-
cv::Scalar已经是 4 个元素的向量。您也可以使用cv::Vec_或std::vector。Mat是一个二维向量,确实是一个矩阵。但是您需要指定您打算如何使用它,否则这只是一个过于宽泛的问题。 -
一个包含 3 个值的简单向量(例如
double)可以是:cv::Vec3d v(p1, p2, p3);或std::vector<double> v{p1, p2, p3}; -
谢谢你的回复,我想对这个向量做一些操作,比如使用规范并改变它的元素
-
@Miki 如何访问这个向量的元素?