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实现的简单文本类游戏实例
Apr 28 Python
在Python程序中操作文件之isatty()方法的使用教程
May 24 Python
Python时间模块datetime、time、calendar的使用方法
Jan 13 Python
对python3 urllib包与http包的使用详解
May 10 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
Python使用python-docx读写word文档
Aug 26 Python
Python+Appium实现自动化测试的使用步骤
Mar 24 Python
使用Django清空数据库并重新生成
Apr 03 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
详解用 python-docx 创建浮动图片
Jan 24 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 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 file_get_contents函数轻松采集html数据
2010/04/22 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
jquery图片切换插件
2015/03/16 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
如何一键升级Python所有包
2020/11/05 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
企业文化口号
2014/06/12 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
redis实现排行榜功能
2021/05/24 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
Python find()、rfind()方法及作用
2022/12/24 Python