Opencv 计算图片旋转角度

Posted herd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Opencv 计算图片旋转角度相关的知识,希望对你有一定的参考价值。

vector<vector<Point>> vec_point;
vector<Vec4i> hireachy;
findContours(img_canny1, vec_point, hireachy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0));
//绘制轮廓
img3 = Mat::zeros(img1.size(),CV_8UC1);
float maxw = 0;
float maxh = 0;
double degree = 0;

for (size_t t=0;t<vec_point.size();t++)
{
  RotatedRect minRect = minAreaRect(vec_point[t]);
  degree = abs(minRect.angle);
  if (degree>0)
  {
    maxw = max(maxw,minRect.size.width);
    maxh = max(maxh,minRect.size.height);
  }
}

for (size_t t=0;t<vec_point.size();t++)
{
  RotatedRect minRect = minAreaRect(vec_point[t]);
  if (maxw ==minRect.size.width && maxh == minRect.size.height)
  {
    degree = minRect.angle;
    Point2f pts[4];
    minRect.points(pts);
    Scalar color_1 = Scalar(rng1.uniform(0,255), rng1.uniform(0, 255), rng1.uniform(0, 255));
    for (int k=0;k<4;k++)
    {
      line(img3,pts[k],pts[(k+1)%4],color_1,2,8,0);
    }
  }
}

cout << degree<< endl;

技术分享图片

 































以上是关于Opencv 计算图片旋转角度的主要内容,如果未能解决你的问题,请参考以下文章

裁剪和旋转图片 OpenCV

opencv 图像增强,旋转平移缩放仿射等变化后新坐标计算

opencv图像旋转,该怎么解决

opencv 矩形检测与计数

opencv 矩形检测与计数

圆形物体旋转角度检测