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列表生成器的循环技巧分享
Mar 06 Python
python协程用法实例分析
Jun 04 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
在python中实现强制关闭线程的示例
Jan 22 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
Django异步任务线程池实现原理
Dec 17 Python
Python谱减法语音降噪实例
Dec 18 Python
Python使用Pandas库常见操作详解
Jan 16 Python
python爬虫---requests库的用法详解
Sep 28 Python
Python如何识别银行卡卡号?
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
5.PHP的其他功能
2006/10/09 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
Javascript 写的简单进度条控件
2008/01/22 Javascript
javascript Prototype 对象扩展
2009/05/15 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
Python字符串处理实例详解
2017/05/18 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
python文件排序的方法总结
2020/09/13 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
《大自然的语言》教学反思
2014/04/08 职场文书
代理协议书
2014/04/22 职场文书
教师工作表现自我评价
2015/03/05 职场文书
合同纠纷调解书
2015/05/20 职场文书
给校长的建议书范文
2015/09/14 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技