C++ OpenCV点类型转换

C++ OpenCV点类型转换,c++,opencv,point,C++,Opencv,Point,OpenCV文档指出,在Point类中有一个成员函数,可以在int->float等数据类型之间进行转换。文档宣传以下函数以转换为其他数据类型 cv::Point_< _Tp >::operator Point_< _Tp2 > () const 我一直没能让它工作。我试过以下方法 cv::Point2i test(0,0); cv::Point2f out; test.Point <Point2f>; 或 有人能使用这个功能吗?这是一个例子。您可以使用强

OpenCV文档指出,在Point类中有一个成员函数,可以在int->float等数据类型之间进行转换。文档宣传以下函数以转换为其他数据类型

cv::Point_< _Tp >::operator Point_< _Tp2 > () const
我一直没能让它工作。我试过以下方法

cv::Point2i test(0,0);
cv::Point2f out;

test.Point <Point2f>;

有人能使用这个功能吗?

这是一个例子。您可以使用强制转换来调用它

#include <opencv2/opencv.hpp>

int main()
{
    cv::Point2i foo(1, 2);
    cv::Point2f bar;

    bar = static_cast<cv::Point2f>(foo);

    std::cout << foo << "\n" << bar << "\n";

    return 0;
}

这是一个转换函数,使用cast=test;谢谢你,丹,这个很好用。我想有一个简单的方法来利用这个功能。我可以通过手动对每个变量进行等值来获得相同的结果,但这要干净得多。现在我有我的第一个介绍演员!
#include <opencv2/opencv.hpp>

int main()
{
    cv::Point2i foo(1, 2);
    cv::Point2f bar;

    bar = static_cast<cv::Point2f>(foo);

    std::cout << foo << "\n" << bar << "\n";

    return 0;
}
[1, 2]
[1, 2]