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 获取本机ip地址的两个方法
Feb 25 Python
python实现清屏的方法
Apr 30 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
Python实现控制台中的进度条功能代码
Dec 22 Python
浅析python协程相关概念
Jan 20 Python
python使用folium库绘制地图点击框
Sep 21 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
python里 super类的工作原理详解
Jun 19 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
Django项目创建及管理实现流程详解
Oct 13 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 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新手谈谈我的学习心得
2007/02/25 PHP
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
php7连接MySQL实现简易查询程序的方法
2020/10/13 PHP
DWZ table的原生分页浅谈
2013/03/01 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
python使用cPickle模块序列化实例
2014/09/25 Python
决策树的python实现方法
2014/11/18 Python
python实现中文输出的两种方法
2015/05/09 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
django使用JWT保存用户登录信息
2020/04/22 Python
Django xadmin安装及使用详解
2020/10/26 Python
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
学生党支部先进事迹
2014/02/04 职场文书
新学期教师寄语
2014/04/02 职场文书
植树节标语
2014/06/27 职场文书
中学教代会开幕词
2016/03/04 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
js前端图片加载异常兜底方案
2022/06/21 Javascript