在C++中计算两点之间的角度,得到了奇怪的结果
Calculating angle between two points in C++, getting weird results
我正在visual studio 2013中尝试使用OpenCV C++计算两点之间的角度。一点是被跟踪的对象,另一点是我单击鼠标的位置。然而,在我的代码中,我得到了一个非常长且波动很大的答案,看起来并不正确。。。
代码摘录:
float angle = (atan2(mousex - posX, mousey - posY) * 180) / 3.14159265;
sprintf_s(textA, "%d", angle);
putText(imgOriginal, textA, Point(posX, posY + 20),
FONT_HERSHEY_COMPLEX_SMALL, 0.8, Scalar(200, 200, 250), 1, CV_AA);
我已经包括了,但仍然没有结果。
我得到的结果在50368和10732之间波动(在同一地点)。
所以,如果有人能帮助我,我将不胜感激!
谢谢。
您的代码有很多问题。
正如@kuroineko在评论中提到的:
CCD_ 1首先取y分量。如果您按错误的顺序传递参数,则计算的角度为90°。此外,您的角度是float
,因此在sprintf
中使用%d
将输出垃圾。
相关文章:
- Tensorflow对象检测在Python和C++(OpenCV)之间有不同的结果
- CSV文件之间的差异,使用getline()产生不同的结果
- 为什么这个C++程序在代码::块和在线 IDE 之间返回不同的结果?
- 自制bgr2hsv和opencv bgr2hsv之间的结果不同
- 如何比较 C++ 和 MATLAB 之间的结果
- 在CLION中调试模式和运行模式之间的怪异结果
- 在C++中,添加双精度值会在不同的程序之间产生不同的结果
- C++(LAPACK,sgels)和Python(Numpy,lstsq)结果之间的差异
- 可能的编译器错误:在两台机器之间使用英特尔编译器的boost bessel函数会产生奇怪的结果
- 获取两个字符串之间的结果,而不将它们包含在结果中
- opencvmatchTemplate在计算机之间给出不一致的结果
- 这将是在将函数分配给变量或一次又一次地调用函数之间使用函数结果的最佳方式
- 如何消除CUDA和CPU之间对数的不同结果
- 一个关于C++中double和int之间转换的奇怪结果
- 在C++中计算两点之间的角度,得到了奇怪的结果
- 调试和发布之间的结果不同
- OpenCV 结果在调试/发布和其他机器之间更改
- 编译一个相当简单的c++11程序时,gcc和clang之间的结果不同
- 确定两个矢量类型或一个矢量类型与标量类型之间的二进制运算结果的正确大小类型
- 类型结果之间的意外差异