python opencv对图像进行旋转且不裁剪图片的实现方法


Posted in Python onJuly 09, 2019

最近在做深度学习时需要用到图像处理相关的操作,在度娘上找到的图片旋转方法千篇一律,旋转完成的图片都不是原始大小,很苦恼,于是google到歪果仁的网站扒拉了一个方法,亲测好用,再次嫌弃天下文章一大抄的现象,虽然我也是抄歪果仁的。

废话不多说了,直接贴代码了。

def rotate_bound(image, angle):
  # grab the dimensions of the image and then determine the
  # center
  (h, w) = image.shape[:2]
  (cX, cY) = (w // 2, h // 2)
 
  # grab the rotation matrix (applying the negative of the
  # angle to rotate clockwise), then grab the sine and cosine
  # (i.e., the rotation components of the matrix)
  M = cv2.getRotationMatrix2D((cX, cY), -angle, 1.0)
  cos = np.abs(M[0, 0])
  sin = np.abs(M[0, 1])
 
  # compute the new bounding dimensions of the image
  nW = int((h * sin) + (w * cos))
  nH = int((h * cos) + (w * sin))
 
  # adjust the rotation matrix to take into account translation
  M[0, 2] += (nW / 2) - cX
  M[1, 2] += (nH / 2) - cY
 
  # perform the actual rotation and return the image
  return cv2.warpAffine(image, M, (nW, nH))

其他的不用多说了吧,第一个参数穿opencv读取的图像,第二个参数传入需要旋转的角度,enjoy!

以上这篇python opencv对图像进行旋转且不裁剪图片的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
在Django框架中运行Python应用全攻略
Jul 17 Python
浅谈五大Python Web框架
Mar 20 Python
pandas实现选取特定索引的行
Apr 20 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
浅谈python之自动化运维(Paramiko)
Jan 31 Python
python操作docx写入内容,并控制文本的字体颜色
Feb 13 Python
简单的Python人脸识别系统
Jul 14 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
python 模拟登陆163邮箱
Dec 15 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 #Python
Python3 执行系统命令并获取实时回显功能
Jul 09 #Python
利用python开发app实战的方法
Jul 09 #Python
python设置环境变量的作用和实例
Jul 09 #Python
python版百度语音识别功能
Jul 09 #Python
利用Python实现Shp格式向GeoJSON的转换方法
Jul 09 #Python
python实现集中式的病毒扫描功能详解
Jul 09 #Python
You might like
用PHP连接Oracle for NT 远程数据库
2006/10/09 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
利用node.js搭建简单web服务器的方法教程
2017/02/20 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
JavaScript实现区块链
2018/03/14 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
使用numba对Python运算加速的方法
2018/10/15 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
详解python算法常用技巧与内置库
2020/10/17 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
公司副总经理任命书
2014/06/05 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
人生遥控器观后感
2015/06/11 职场文书
观后感开头
2015/06/19 职场文书
运动会100米加油稿
2015/07/21 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS