相关疑难解决方法(0)

在OpenCV中旋转旋转图像的后点

我有轮换麻烦.我想要做的是:

  • 旋转图像
  • 检测旋转图像上的特征(点)
  • 向后旋转点,使得我可以得到与初始图像对应的点坐标

我有点卡在第三步.

我设法使用以下代码旋转图像:

cv::Mat M(2, 3, CV_32FC1);
cv::Point2f center((float)dst_img.rows / 2.0f, (float)dst_img.cols / 2.0f);
M = cv::getRotationMatrix2D(center, rotateAngle, 1.0);
cv::warpAffine(dst_img, rotated, M, cv::Size(rotated.cols, rotated.rows));
Run Code Online (Sandbox Code Playgroud)

我尝试用这段代码回转点:

float xp = r.x * std::cos( PI * (-rotateAngle) / 180 ) - r.y * sin(PI * (rotateAngle) / 180);
float yp = r.x * sin(PI * (-rotateAngle) / 180) + r.y * cos(PI * (rotateAngle) / 180);
Run Code Online (Sandbox Code Playgroud)

这不是为了工作,但这些点在图像上不能很好地回归.有一个偏移.

谢谢您的帮助

c++ opencv rotation matrix

12
推荐指数
2
解决办法
7684
查看次数

OpenGL旋转线周围的对象

我在OpenGL和C++编程.我知道1行(对角线)上的2个点,并希望围绕该对角线旋转对象.我该怎么做呢?我知道如何使用glrotatef它围绕x,y或z轴旋转,但我不确定这一点.

c++ opengl transformation rotation

4
推荐指数
2
解决办法
6507
查看次数

如何围绕任意点旋转一组2D形状

我正在制作一个"Body"类,它将一堆2D形状组合在一起,形成一个可移动的可旋转体.

我需要知道的是我如何旋转每个单独的形状,使其看起来像整个身体旋转,而不是每个形状做它自己围绕它的中心旋转.我不能只将每个形状旋转中心更改为同一点,因为这也会导致它们的放置受到影响.

因此,我需要找到某种方程式,使用身体中心重新定位和重新旋转身体中的每个个体形状,以保持身体形状不变形?

我怎样才能做到这一点?

c++ math graphics rotation

2
推荐指数
1
解决办法
7056
查看次数

标签 统计

c++ ×3

rotation ×3

graphics ×1

math ×1

matrix ×1

opencv ×1

opengl ×1

transformation ×1