python opencv旋转图像(保持图像不被裁减)


Posted in Python onJuly 26, 2018

本文实例为大家分享了python opencv旋转图像的具体代码,保持图像不被裁减,供大家参考,具体内容如下

# -*- coding:gb2312 -*-
import cv2
from math import *
import numpy as np

img = cv2.imread("3-2.jpg")

height,width=img.shape[:2]

degree=45
#旋转后的尺寸
heightNew=int(width*fabs(sin(radians(degree)))+height*fabs(cos(radians(degree))))
widthNew=int(height*fabs(sin(radians(degree)))+width*fabs(cos(radians(degree))))

matRotation=cv2.getRotationMatrix2D((width/2,height/2),degree,1)

matRotation[0,2] +=(widthNew-width)/2 #重点在这步,目前不懂为什么加这步
matRotation[1,2] +=(heightNew-height)/2 #重点在这步

imgRotation=cv2.warpAffine(img,matRotation,(widthNew,heightNew),borderValue=(255,255,255))

cv2.imshow("img",img)
cv2.imshow("imgRotation",imgRotation)
cv2.waitKey(0)

效果图:

python opencv旋转图像(保持图像不被裁减)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
python实现验证码识别功能
Jun 07 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
python多线程实现TCP服务端
Sep 03 Python
python科学计算之scipy——optimize用法
Nov 25 Python
numpy 声明空数组详解
Dec 05 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
Python装饰器实现方法及应用场景详解
Mar 26 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
用pandas划分数据集实现训练集和测试集
Jul 20 Python
python操作链表的示例代码
Sep 27 Python
Django框架模板用法详解
Jun 10 Python
详解Django中间件的5种自定义方法
Jul 26 #Python
python opencv实现切变换 不裁减图片
Jul 26 #Python
Flask之flask-script模块使用
Jul 26 #Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 #Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 #Python
Python迭代器与生成器基本用法分析
Jul 26 #Python
Python实现矩阵相乘的三种方法小结
Jul 26 #Python
You might like
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
google地图的路线实现代码
2009/08/20 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
jquery each()源代码
2011/02/14 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
2017/01/04 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
python集合是否可变总结
2019/06/20 Python
PyQt5响应回车事件的方法
2019/06/25 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
python的链表基础知识点
2020/09/13 Python
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
医护人员英文求职信范文
2013/11/26 职场文书
大学本科毕业生的自我鉴定
2013/11/26 职场文书
文案策划求职信
2014/04/14 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
大足石刻导游词
2015/02/02 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
在Docker容器中部署SQL Server
2022/04/11 Servers