ner*_*ner 3 c++ qt opencv vector
您如何在OpenCV中编写向量?包含这样的3个值v = [p1,p2,p3]?这是我尝试的:
int dim [1] = {3};
Mat v(1,dim,CV_32F, Scalar(p1,p2,p3));
Run Code Online (Sandbox Code Playgroud)
但是当我在Qt中调试时,我在本地和表达式窗口中看到该向量v确实具有1列和3行,但也具有2个dim。我想知道这是否归因Mat于声明中的类型。我可以用哪种类型替换它以获得3个值的简单向量?
我可以使用哪种类型来获取3个值的简单向量?我想对此向量做一些操作,例如使用规范并更改其元素。
您可以使用cv :: Vec类型。
假设您正在处理double值(其他类型也一样),您可以:
// Create a vector
Vec3d v;
// Assign values / Change elements
v[0] = 1.1;
v[1] = 2.2;
v[2] = 3.3;
// Or initialize in the constructor directly
Vec3d u(1.1, 2.2, 3.3);
// Read values
double d0 = v[0];
// Compute the norm, using cv::norm
double norm_L2 = norm(v, NORM_L2); // or norm(v);
double norm_L1 = norm(v, NORM_L1);
Run Code Online (Sandbox Code Playgroud)
对于:
double 类型使用 Vec3dfloat 类型使用 Vec3fint 类型使用 Vec3ishort 类型使用 Vec3sushort 类型使用 Vec3wuchar 类型使用 Vec3b| 归档时间: |
|
| 查看次数: |
10460 次 |
| 最近记录: |