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程序的执行原理
Apr 11 Python
Python计算三维矢量幅度的方法
Jun 15 Python
Python实现比较两个文件夹中代码变化的方法
Jul 10 Python
Python使用functools实现注解同步方法
Feb 06 Python
python实现蒙特卡罗方法教程
Jan 28 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
python3实现高效的端口扫描
Aug 31 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 Python
Python bytes string相互转换过程解析
Mar 05 Python
numpy的Fancy Indexing和array比较详解
Jun 11 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 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
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php7 新增功能实例总结
2020/05/25 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Python使用multiprocessing创建进程的方法
2015/06/04 Python
使用python实现rsa算法代码
2016/02/17 Python
Python中类型检查的详细介绍
2017/02/13 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
python__new__内置静态方法使用解析
2020/01/07 Python
python手写均值滤波
2020/02/19 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
《英英学古诗》教学反思
2014/04/11 职场文书
公司任命书模板
2014/06/06 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
交通事故协议书范本
2016/03/19 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python
python中的3种定义类方法
2021/11/27 Python
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js