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使用点操作符访问字典(dict)数据的方法
Mar 16 Python
Python利用ansible分发处理任务
Aug 04 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
浅谈python中的占位符
Nov 09 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
pycharm 取消默认的右击运行unittest的方法
Nov 29 Python
在keras里面实现计算f1-score的代码
Jun 15 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
Node 代理访问的实现
2019/09/19 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python实现的栈(Stack)
2018/01/26 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
什么是数据抽象
2016/11/26 面试题
广告传媒专业应届生求职信
2014/03/01 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
windows server2008 开启端口的实现方法
2022/06/25 Servers
JavaScript实现简单的音乐播放器
2022/08/14 Javascript