当前位置: 首页 > news >正文

使用scipy处理图片——旋转任意角度

大纲

  • 载入图片
  • 左旋转30度,且重新调整图片大小
  • 右旋转30度,且重新调整图片大小
  • 左旋转135度,保持图片大小不变
  • 右旋转135度,保持图片大小不变

在《使用numpy处理图片——90度旋转》中,我们使用numpy提供的方法,可以将矩阵旋转90度。而如果我们需要旋转任意角度,则需要自己撸很多代码。如果我们使用scipy库提供的方法,则会容易很多。
需要注意的是,旋转导致原始的图片会“撑开”修改后的图片大小。当然我们也可以通过参数设置,让图片大小不变,但是会让部分图片显示不出来。

载入图片

import numpy as np
import PIL.Image as Image
import scipy.ndimage as ndimagedata = np.array(Image.open('the_starry_night.jpg'))

在这里插入图片描述

左旋转30度,且重新调整图片大小

left30 = ndimage.rotate(data, 30)Image.fromarray(left30).save('left30.png')

在这里插入图片描述

右旋转30度,且重新调整图片大小

right30 = ndimage.rotate(data, -30)Image.fromarray(right30).save('right30.png')

在这里插入图片描述

左旋转135度,保持图片大小不变

注意我们给reshape参数传递了False,即不调整图片大小

left135 = ndimage.rotate(data, 135, reshape=False)Image.fromarray(left135).save('left135.png')

在这里插入图片描述

右旋转135度,保持图片大小不变

right135 = ndimage.rotate(data, -135, reshape=False)Image.fromarray(right135).save('right135.png')

在这里插入图片描述

相关文章:

  • K8S--Ingress的作用
  • 结构化数据,非结构化数据,半结构化数据(AI问答)
  • 数据通信基础
  • gcd得最大公约数,辗转相除法理解
  • Dockerfile镜像实战
  • ReactHooks:渲染与useState
  • openssl3.2 - 在VS2019下源码调试openssl.exe
  • 如何通过Burp Suite专业版构建CSRF PoC
  • 【纯CSS特效源码】(二)精美的立体字
  • JavaScript基础05
  • css 怎么绘制一个带圆角的渐变色的边框
  • UGUI Image图像控件替换图片
  • Java 8 中的 Stream 轻松遍历树形结构
  • 视频转为序列图的软件,让视频批量转为序列图
  • Object.keys()
  • JavaScript-如何实现克隆(clone)函数
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 「译」Node.js Streams 基础
  • 【5+】跨webview多页面 触发事件(二)
  • 【node学习】协程
  • Asm.js的简单介绍
  • axios 和 cookie 的那些事
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES6系列(二)变量的解构赋值
  • JavaScript 奇技淫巧
  • JavaScript对象详解
  • Java深入 - 深入理解Java集合
  • maven工程打包jar以及java jar命令的classpath使用
  • Python学习之路16-使用API
  • ReactNative开发常用的三方模块
  • Spring Cloud中负载均衡器概览
  • Vue.js 移动端适配之 vw 解决方案
  • webpack+react项目初体验——记录我的webpack环境配置
  • 官方解决所有 npm 全局安装权限问题
  • 解析带emoji和链接的聊天系统消息
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 2017年360最后一道编程题
  • C# - 为值类型重定义相等性
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ###C语言程序设计-----C语言学习(3)#
  • (4.10~4.16)
  • (Git) gitignore基础使用
  • (ibm)Java 语言的 XPath API
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十三)Flask之特殊装饰器详解
  • (转) Face-Resources
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .bat批处理(五):遍历指定目录下资源文件并更新