python opencv旋转图像(保持图像不被裁减)
更新时间:2018年07月26日 09:24:21 作者:yjl9122
这篇文章主要为大家详细介绍了python opencv旋转图像,保持图像不被裁减,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
这篇文章主要介绍了Python开发SQLite3数据库相关操作,结合实例形式较为详细的分析了Python操作SQLite3数据库的连接,查询,插入,更新,删除,关闭等相关操作技巧,需要的朋友可以参考下2017-07-07
Python pandas.DataFrame调整列顺序及修改index名的方法
这篇文章主要介绍了Python pandas.DataFrame调整列顺序及修改index名的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-06-06
Python实现将字符串的首字母变为大写,其余都变为小写的方法
今天小编就为大家分享一篇Python实现将字符串的首字母变为大写,其余都变为小写的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-06-06
关于数据分析之滚动窗口pandas.DataFrame.rolling方法
Pandas库中的rolling方法是数据处理中常用的功能,它允许用户对数据进行滚动窗口(滑动窗口)操作,通过指定窗口大小,可以使用不同的聚合函数对窗口内的数据进行计算,例如最大值、最小值、平均值、中位数等,此外,rolling方法还可以计算方差、标准差、偏度、峰度2024-09-09


最新评论