求解旋转图像的最大内接矩形
2016-05-27 12:45
1351 查看
本系列文章由 @yhl_leo 出品,转载请注明出处。
文章链接: http://blog.csdn.net/yhl_leo/article/details/51510432
工程源码GitHub: yhlleo/ImageDataAugmentation
编译环境:
CMake
OpenCV
Visual Studio 2010
在机器学习和深度学习中,通常使用为了增加数据(Data Augmentation)可以对数据进行例如一系列的旋转(rotate)、镜像(flip)等操作,本文将讲解如何求取旋转图像的最大内接矩形问题,这里的内接矩形,并不是数学上严格的内接概念,而是获得的矩形是不含如图 1所示的旋转导致的空白区域。
图 1
图 2
如图2所示,红色矩形ABCD是绿色矩形旋转一定角度后对应的结果,旋转中心定义在图像的中心,坐标轴方向
但是测试过程中就会发现,上面的分析,对于
图 3
可以看出,两种情况的最大不同就是, 矩形边AB与坐标轴
以上的推导在顺时针旋转角度a属于
文章链接: http://blog.csdn.net/yhl_leo/article/details/51510432
工程源码GitHub: yhlleo/ImageDataAugmentation
编译环境:
CMake
OpenCV
Visual Studio 2010
在机器学习和深度学习中,通常使用为了增加数据(Data Augmentation)可以对数据进行例如一系列的旋转(rotate)、镜像(flip)等操作,本文将讲解如何求取旋转图像的最大内接矩形问题,这里的内接矩形,并不是数学上严格的内接概念,而是获得的矩形是不含如图 1所示的旋转导致的空白区域。
图 1
图 2
如图2所示,红色矩形ABCD是绿色矩形旋转一定角度后对应的结果,旋转中心定义在图像的中心,坐标轴方向
x->col, y->row,则可有以下推导:
但是测试过程中就会发现,上面的分析,对于
col近似等于
row的图像会有问题,问题出自哪里呢?如图 3,很容得到的解是这样的蓝色的矩形框,因此,除了上面的极值条件,还必须添加相应的边界条件,从而获得紫色的矩形框边界。
图 3
可以看出,两种情况的最大不同就是, 矩形边AB与坐标轴
col相交的点是否位于绿色矩形框的内部,前面推导的结果对于位于绿色矩形框内部是成立的,对于位于外部的情形,可有如下分析:
以上的推导在顺时针旋转角度a属于
(0, 90)时成立,当角度位a属于
(90, 180)时等价于180-a,而当a为90°或180°时相对简单,更多的旋转角度也是以180°为周期,因此,整个旋转最大内接矩形的求取过程就分析完毕~
相关文章推荐
- 求解旋转图像的最大内接矩形
- Eclipse/IntelliJ IDEA添加JRebel 6.4.4以实现Tomcat热部署
- 学习笔记-synchronized
- arm-none-linux-gnueabi交叉工具链 no such file or directory
- 1052. 卖个萌 (20)
- hdu 3592(差分约束)
- 1588: [HNOI2002]营业额统计 splay 入门
- Hadoop2.7.2之集群搭建(三台)
- Leetcode no. 129
- HANA MODEL 创建schema、表,向表导入数据
- mac 下载安装tomcat 并给权限
- MySQL server has gone away 问题的解决方法
- python 正则表达式
- CentOS安装Confluence Wiki步骤
- 用Java写的简单五子棋游戏(原创五子连珠算法)
- Problems for Round
- 计算机视觉&图像处理领域重要期刊汇总
- redis之(十一)redis实现缓存的功能
- 建立一个能运行的spring-mvc程序,至少需要哪些配置以及jar包
- 欢迎使用CSDN-markdown编辑器