oint2f(x,y)中的x代表在图像中的列,y代表图像中的行。
用法: Point2f a=Point2f(2,1.5); 或者 Point2f a(2,1.5); 或者 Point2f a; a.x=2; a.y=1.5; 常入坑的用法: Point2f a=(2,1.5); 注意这种用法是错误的。
代码验证:
#include"iostream"
#include"opencv2/opencv.hpp"
#include"vector"
#include<cmath>
#include<queue>
#include<typeinfo>
using namespace std;
using namespace cv;
int main()
{
Point2f a = (2, 1.5);
Point2f b(2, 1.5);
Point2f c;
c.x = 2;
c.y = 1.5;
Point2f d = Point2f(2, 1.5);
cout << "a: " << a << endl;
cout << "b: " << b << endl;
cout << "c: " << c << endl;
cout << "d: " << d << endl;
waitKey(0);
system("pause");
return 0;
}
输出如下:
可以发现,Point2f a = (2, 1.5);输出是[1.5,0],输出是错误的。
|