https://blog.csdn.net/weixin_46624734/article/details/120086916

Point2f(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],输出是错误的。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐