gpt4 book ai didi

c++ - 在 OpenCV 中访问数组的元素

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:27 24 4
gpt4 key购买 nike

我试图获取数组中元素的值,以便在 if 语句中使用它,但不幸的是,以下代码对我不起作用。 compcout 与数组 C 的第一个元素不匹配。我是 OpenCV 的新手,因此非常感谢您的帮助。

Mat A = (Mat_<double>(2,1) << u, v); 
Mat B = (Mat_<double>(2,6) << -1/Z, 0 , x/Z , x*y , -(x*x+1),y,
0 ,-1/Z, y/Z ,y*y+1, -x*y ,-x);
Mat pinvB = B.inv(DECOMP_SVD);
Mat C=pinvB*A; // 6x1 Array

float comp = C.at<float>(0,0);
cout << "comp " << comp << endl; //This value does not match C[0,0]
cout << "C " << C << endl;

if (comp < 0.0001){
//process
}

最佳答案

你的 Mat_<double>实例内部存储 double秒。当您这样做时:

float comp = C.at<float>(0,0);

您正在尝试使用一些形成 double 的位,并将它们解释为 float .浮点表示意味着 double 的一半位不要翻译成有意义的float (假设一个平台的 float 大小是 double 的一半,这很常见)。所以,调用C.at<double>相反。

关于c++ - 在 OpenCV 中访问数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17004157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com