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

 更新时间:2019年07月09日 17:57:14   作者:hui3909  
今天小编就为大家分享一篇python opencv对图像进行旋转且不裁剪图片的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

最近在做深度学习时需要用到图像处理相关的操作,在度娘上找到的图片旋转方法千篇一律,旋转完成的图片都不是原始大小,很苦恼,于是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对图像进行旋转且不裁剪图片的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pygame实现键盘的连续监控

    pygame实现键盘的连续监控

    这篇文章主要为大家详细介绍了pygame实现键盘的连续监控,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Python使用matplotlib绘制三维参数曲线操作示例

    Python使用matplotlib绘制三维参数曲线操作示例

    这篇文章主要介绍了Python使用matplotlib绘制三维参数曲线操作,结合实例形式分析了Python使用matplotlib的数值计算与图形绘制相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • 基于Python List的赋值方法

    基于Python List的赋值方法

    今天小编就为大家分享一篇基于Python List的赋值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python-Flask:动态创建表的示例详解

    Python-Flask:动态创建表的示例详解

    今天小编就为大家分享一篇Python-Flask:动态创建表的示例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python爬取你好李焕英豆瓣短评生成词云的示例代码

    Python爬取你好李焕英豆瓣短评生成词云的示例代码

    这篇文章主要介绍了Python爬取你好李焕英豆瓣短评生成词云,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • cmd输入python命令无反应的解决方案

    cmd输入python命令无反应的解决方案

    这篇文章主要介绍了cmd输入python命令无反应的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python requests爬取高德地图数据的实例

    python requests爬取高德地图数据的实例

    今天小编就为大家分享一篇python requests爬取高德地图数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 详解MySQL数据类型int(M)中M的含义

    详解MySQL数据类型int(M)中M的含义

    int(M)拆分来说,int是代表整型数据那,么中间的M应该是代表多少位了,后来查mysql手册也得知了我的理解是正确的,下面这篇文章小编就来举例详细说明。 文中介绍的很详细,相信对大家的理解和学习很有帮助,有需要的朋友们下面就来学习学习吧。
    2016-11-11
  • 对Python信号处理模块signal详解

    对Python信号处理模块signal详解

    今天小编就为大家分享一篇对Python信号处理模块signal详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python爬虫之使用BeautifulSoup和Requests抓取网页数据

    Python爬虫之使用BeautifulSoup和Requests抓取网页数据

    这篇文章主要介绍了Python爬虫之使用BeautifulSoup和Requests抓取网页数据,本篇文章将介绍如何使用 Python 编写一个简单的网络爬虫,从网页中提取有用的数据,需要的朋友可以参考下
    2023-04-04

最新评论