首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >旋转图像增加其大小?

旋转图像增加其大小?
EN

Stack Overflow用户
提问于 2016-06-13 01:35:33
回答 1查看 631关注 0票数 1

我试图旋转一些图片,其宽度超过高度左右的左上角,90度。我写了这封信:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from PIL import Image
import sys, csv, os, traceback, glob
import shutil, math

src_im = Image.open("Test.png")
print src_im.size[0] , ',' , src_im.size[1]

src_im = src_im.transpose(Image.ROTATE_90) 
src_im = src_im.transpose(Image.FLIP_LEFT_RIGHT) 
src_im = src_im.transpose(Image.FLIP_TOP_BOTTOM) 

src_im.save("TestResult.png")
print src_im.size[0] , ',' , src_im.size[1]

所生成的输出正如我所预期的,但是在大小上有很大的变化。你知道我哪里会出错吗?

它存储的像素信息是相同的,只是旋转,为什么要改变图像大小呢?

例如:(936 X 312) 155 312

(312 X 936) 342 936

编辑:

好的,我试着用内置的窗口图像查看器旋转图像,在这种情况下也会增加。因此,这并不是Python本身所特有的。更多关于压缩的内容。我还不清楚为什么旋转时它会压缩得更少?我正在尝试的所有图像都会发生这种情况,而不是这个特定的图像。相应地更新标记。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-13 10:46:06

PNG通过“过滤”每一行压缩图像,试图将每个像素的值作为“过去”邻居(前一行和/或列)的函数来预测,然后使用ZLIB (Deflate)压缩预测误差。这里的问题似乎是:垂直图像几乎有垂直条纹;当沿着行扫描时,它有一个相当可预测的中程图案(大约8种相似的颜色,然后是短的浅色)。这表明,虽然短期预测不是很成功,但预测误差会有一个高度重复的模式,这应该是相对容易压缩的。当图像被旋转时,这种情况不会发生。

我验证了不同的水平/垂直尺寸并不是问题所在:我通过重复原始图像9次,得到了一个更大的正方形(900x900)。具有准垂直条纹的PNG图像大小约为另一幅图像的一半。

另一个实验证实了上述情况:将两个图像保存为灰度BMP (这是一种未压缩格式,它沿行存储每像素一个字节)。你会得到两个293.110字节的图像。用标准的ZIP压缩机压缩它们(与ZLIB的排气系列相同)。同样,垂直图像的大小大约是另一张的一半。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37786313

复制
相关文章
【Nginx】磁盘文件写入飞地发
文章继续。什么时候Nginx当用户请求一个文件,这将无法读取该文件的内容加载到内存,然后从内存发送,但电话sendfile况下,从内核直接发送出去。这样做显然效率要更高。Nginx也为我们封装好了一系列的接口。以下就来说明怎样发送一个磁盘文件给client。
全栈程序员站长
2022/07/05
9450
【Nginx】磁盘文件写入飞地发
nodejs写入json文件_json文件可以删除吗
哈喽!nodejs的文件系统,接触过node的对node的文件系统肯定不会陌生,这两天我就在思考一个问题,我是否可以在本地操作我的本地json文件,这样一个本地的文本数据库就有了,如果是便签之类,记录的软件,我完全可以不用连后台的数据库,我可以自己操作本地的json文件,自己用node写后台,答案是肯定的,下面我们就一起来实现一下吧,对本地json文件的增、删、改、查
全栈程序员站长
2022/11/04
2.9K0
nodejs写入json文件_json文件可以删除吗
将List<Map>中的datas转换为json格式写入文件
private static boolean writeToTextFileByJson(List<Map<String, Object>> datas, String title, String columns, String fileName, String encode) { final BufferedWriter bw; boolean flag = true; try { boolean hasExists = new File(fileName).exists();
用户3003813
2018/09/06
6.6K0
Python将数据写入txt文件_python将内容写入txt文件
readlines() 会把每一行的数据作为一个元素放在列表中返回,读取所有行的数据
全栈程序员站长
2022/11/11
12.5K0
使用C#将json字符串作为对象存入MongoDB
      今天刚好在工作中碰到一个小问题,并愉快的解决了,权当将其记录下来,供人查阅,首先声明本人是个忠实的微软技术爱好者,主要使用的也是.NET语言。下面进入正题。      今天在向mongodb中导数据的过程中,使用了MongoDB官方的驱动(可以在Nuget中直接安装),然后读取一个json字符串并将其直接写入到mongdb中,就是普通的mongdb操作,本以为不会有什么问题,谁知通过mongovue客户端打开一看,只是存入了一个string类型的对象,mongdb并没有自动解析成Document
魏守峰
2018/04/28
3.2K0
Python:将一个 csv 文件转为 json 文件存储到磁盘
我也不是一次编写完成的,是在不断的试错中一步一步的解决这个问题的,令我印象最深刻的就是这个sort函数的用法,需要传入一个回调函数,这里是以列表元素的最后一个值作为key,我之前在做的时候忘记了题目中已经给了总分,还使用了sum([int(j) for j in x[1:]])这个排序,多此一举。
wsuo
2020/07/30
2.3K0
Python:将一个 csv 文件转为 json 文件存储到磁盘
.net c# json转对象 对象转json
.net和java中操作json不像php那么轻巧方便,之前我使用.net json转对象,需要创建一个json实体类,繁琐至极。
高久峰
2023/07/02
3720
jackson将json转换为json对象
高久峰
2023/07/02
3420
springcloud 返回的数据为XML 而不是JSON
本人的原因是因为引入了jackson-dataformat-xml依赖导致的,下面查看自己项目是否包含此依赖,如果包含的话,可以去掉。 有的人添加了下面注解后可以解决,不过我这里没有解决。还是依靠上图
qubianzhong
2019/04/01
2.3K0
springcloud 返回的数据为XML 而不是JSON
Python对象写入json文件,小括号变中括号咋解决呢?
前几天在Python交流白银群【凡人不烦人】问了一道Python处理的问题,如下图所示。
前端皮皮
2022/08/17
1.3K0
Python对象写入json文件,小括号变中括号咋解决呢?
如何在Node.js中读取和写入JSON对象到文件
本文翻译自How to read and write a JSON object to a file in Node.js
ccf19881030
2020/10/28
22.1K0
Python: 将TXT文件写入MySQ
安装MySQLdb时,报错缺少Visual C++ 9.0。解决方法:下载并安装MySQL-python 1.2.5 . https://pypi.python.org/pypi/MySQL-python/1.2.5
py3study
2020/01/07
2.1K0
.NET Core的日志[4]:将日志写入EventLog
面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog。EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用也可以利用提供的API将日志消息写到EventLog中。与EventLog相关的API都定义在System.Diagnostics.EventLog这个类型中,我们不仅仅可以利用它读取、写入和删除日志,还可以使用它来创建和删除Event Source。.NET Core的日志模型利用EventLogLogger
蒋金楠
2018/01/15
8810
.NET Core的日志[4]:将日志写入EventLog
python 将读取的数据写入txt文件_c中怎样将数据写入txt文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
6.4K0
19.JAVA-从文件中解析json、并写入Json文件(详解)
json与xml相比, 对数据的描述性比XML较差,但是数据体积小,传递速度更快.
诺谦
2019/12/19
12.2K0
React技巧之将useState作为对象
原文链接:https://bobbyhadz.com/blog/react-type-usestate-object[1]
chuckQu
2022/08/19
9560
将 windows 磁盘作为共享盘挂载到 Linux 上
在 Linux 处理组学数据,硬盘真是经不起消耗的东西。而本地办公的电脑主要以开浏览器、看文献、交流、做PPT等为主,除了C盘小的时候容易炸,其他磁盘使用量很少。所以我最近遇到了工作站没法装大点的测序数据,但 PC 却有好几个盘上 T 的空闲。这篇文章就简单做个笔记,记录下如何将 Windows 的磁盘共享给 Linux 存数据使用。
王诗翔呀
2023/02/28
4.9K0
将 windows 磁盘作为共享盘挂载到 Linux 上
.NET性能优化-使用内存+磁盘混合缓存
其实这个问题比较简单的是吧?Redis 其实属于网络存储,我对照下面的这个表格,可以很容易的得出结论,既然网络存储的速度慢,那我们就可以使用内存 RAM 存储,把放 Redis 里面的数据给放内存里面就好了。
InCerry
2023/03/08
4240
.NET性能优化-使用内存+磁盘混合缓存
python将print输出结果写入文件
重定向标准输出流有两种方式,既可以在每个print方法中进行重定向,如下所示:
种花家的奋斗兔
2020/11/13
10.9K0
点击加载更多

相似问题

将浮动导航元素保持在一条线上

12

将光标位置保持在textView Swift的底线上

124

如何将标识与导航条对齐?

18

如何将文本保持在与图标相同的行中?

13

无法将CSS箭头保持在与标题相同的行中

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文