基础——RotatedRect中返回的角度angle

本文转载于:
http://www.mamicode.com/info-detail-1328031.html  
  
  
  
  

以下是RotatedRect里面的角度angle的说明图:
基础——RotatedRect中返回的角度angle
这里要注意的4点是:
1、角度angle的取值是由RotatedRect的width和X轴的夹角组成的。
2、RotatedRect的width和height的选取跟矩形的尺寸无关,并非长的就是height,短的就是width。
3、OpenCV默认把 水平轴(x轴)逆时针旋转,碰到的第一个边 这个边的边长作为width
4、angle的取值范围必然是负的,实际angle的取值范围为(-90,0]。

这是本人修改过的图,下面进入论证:
这里用了一幅图,里面有两个旋转的矩形,其中由于旋转的角度不一样,所以opencv找出来的RotatedRect里面的width有可能会比height大
基础——RotatedRect中返回的角度angle
其中第一个由于它是逆时针旋转的,所以,x轴会先碰到顶部的直线L1,第二个矩形是顺时针旋转的,所以x轴会先碰到左边的直线L2,很明显L2会比L1大,其中L1也会比它左边的直线小:
基础——RotatedRect中返回的角度angle
第一个矩形的角度只有-22度其中width为130,比height小。
基础——RotatedRect中返回的角度angle
第二个矩形的角度为-77度,width为234,比height109大,其中还比第一个矩形的width大。论证成立。
这里逆时针为负,顺时针为正:
基础——RotatedRect中返回的角度angle

(function () {('pre.prettyprint code').each(function () { var lines = (this).text().split(\n).length;varnumbering = $('
    ').addClass('pre-numbering').hide(); (this).addClass(hasnumbering).parent().append(numbering); for (i = 1; i

    本文转载于:
    http://www.mamicode.com/info-detail-1328031.html  
      
      
      
      

    以下是RotatedRect里面的角度angle的说明图:
    基础——RotatedRect中返回的角度angle
    这里要注意的4点是:
    1、角度angle的取值是由RotatedRect的width和X轴的夹角组成的。
    2、RotatedRect的width和height的选取跟矩形的尺寸无关,并非长的就是height,短的就是width。
    3、OpenCV默认把 水平轴(x轴)逆时针旋转,碰到的第一个边 这个边的边长作为width
    4、angle的取值范围必然是负的,实际angle的取值范围为(-90,0]。

    这是本人修改过的图,下面进入论证:
    这里用了一幅图,里面有两个旋转的矩形,其中由于旋转的角度不一样,所以opencv找出来的RotatedRect里面的width有可能会比height大
    基础——RotatedRect中返回的角度angle
    其中第一个由于它是逆时针旋转的,所以,x轴会先碰到顶部的直线L1,第二个矩形是顺时针旋转的,所以x轴会先碰到左边的直线L2,很明显L2会比L1大,其中L1也会比它左边的直线小:
    基础——RotatedRect中返回的角度angle
    第一个矩形的角度只有-22度其中width为130,比height小。
    基础——RotatedRect中返回的角度angle
    第二个矩形的角度为-77度,width为234,比height109大,其中还比第一个矩形的width大。论证成立。
    这里逆时针为负,顺时针为正:
    基础——RotatedRect中返回的角度angle