- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Python3 上使用 Pillow(版本 5.2.0)来打开 PNG 和 BMP 图像,并使用 Tkinter GUI 显示它们。 PNG 图像可以正确显示,没有任何问题,但是,当使用 Pillow 的 BmpImagePlugin.py 时,我遇到了一些 BMP 图像的 IOError(“不支持的 BMP 压缩”)。
使用位图插件的source和一些打印语句,我发现异常是在第193行抛出的,并且导致异常的图像是使用RLE8压缩的(用第63行的字典表示);所有其他格式都可以工作,因为它们是 RAW 格式。在我看来,如果该字典中列出了压缩类型,则应该支持它,但显然情况并非如此。
我的问题:有人知道 Pillow 或任何其他可以打开 RLE8 位图图像的 python 库的解决方法吗?这是显示我的 PATH 环境的图像,以及下面评论中描述的命令行错误。
路径问题
最佳答案
我注意到您的第一个图像 (test1.bmp
) 似乎已损坏,并且 ImageMagick 报告其长度不正确。
您的第二个图像似乎没有使用 RLE8 压缩进行压缩,也是调色板图像,但具有 Alpha/透明度。
您的第三张图像是经过 RLE8 压缩的调色板、非 Alpha 图像。
我的 PIL 版本只能读取第二个文件 - 第一个和第三个文件是 RLE 编码的,无法读取。
<小时/>您要求解决方法 - 我可以建议 pyvips
可以毫无问题地读取文件:
import pyvips
from PIL import Image
# Load troublesome file using vips, and write to a memory buffer
image = pyvips.Image.new_from_file('test1.bmp')
mem_img = image.write_to_memory()
# Read from memory buffer into Numpy array
imgnp=np.frombuffer(mem_img, dtype=np.uint8).reshape(image.height, image.width, 3)
# Convert Numpy array to PIL Image and write to disk
Image.fromarray(imgnp).save('result.png')
关于python - RLE8图像支持/用Pillow解压(PIL fork),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52619276/
题目地址:https://leetcode.com/problems/rle-iterator/description/ 题目描述: Write an iterator that iterates
我想要一个程序或函数将文本文件中的 ASCII 艺术压缩为运行长度为 2 的 RLE,因此它会计算字符数并按如下方式显示:04662312x52c02z01 03a (只是一个例子),这样它需要 2
我为二进制文件的 RLE 压缩实现了以下两个函数。 char* RLEcompress(char* data, size_t origSize, size_t* compressedSize) {
假设我有 1-1000 万的数字(客户 ID)。每个数字都与 3 个可能值中的 1 个相关联 - A、B、C。 我知道大约 1000 个元素的非常大的相邻区域属于同一类别。 什么数据结构可以让我以节省
经典的 RLE 算法通过使用数字来表示数字后面的字符在文本中该位置出现的次数来压缩数据。例如: AAABBAAABBCECE => 3A2B3A2B1C1E1C1E 但是,在上面的示例中,该方法导致压
我很难通过这个 rle data.frame 上的函数.函数在另一组上效果很好: fgroup dput(fevents2[1:20,]) structure(list(weeks = struct
我想将 R 中“rle”函数中包含的信息转换为数据框,但找不到方法。例如,对于向量 x <- c(1,1,1,2,2,3,4,4,4) 我想要一个包含两列 1 2 3 4 的数据框和 3 2 1 3
下面是我的数据的样子。 City, count Mexico, 1 Mexico, 1 London, 0 London, 1 London, 1 我正在使用 Rle 函数来计算我的值中的一致性,但无
我正在使用 R。我有一个数据框,其中包含每个玩家的一行,然后是代表每个月的列和他们获得的分数(下面是随机值的说明性数据)。我想添加一个新列 (Points$ConsecutiveShutouts),其
我有为数据集中每个单独的 ID 创建的 rle() 类对象,现在我想将它们绘制在单独的直方图中,显示各种长度类的频率,以便了解它们的分布情况,但是我似乎不知道该怎么做。 我通过使用以下代码对具有各种
挣扎于此: 示例数据: foo <- structure(c("1", "1", "1", "1", "1", "1", "2", "2", "2", "2", "2", "2", "2",
我在使用 rle 命令时遇到了一些问题,该命令旨在找到参与者连续达到 8 个连续参与者的点。 例如,如果: x = 8) sum(rle(x)$lengths[ 1:(min(which(rle(x)
假设我有以下 rle 对象: r = rle(c(rep("M",28),rep("N",4265),rep("M",16),rep("S",2),rep("N",400),rep("M",10)))
我正在尝试使用 rle() 解决 R 的问题(或其他相关功能)但不确定从哪里开始。问题如下- foo , bar , 和 baz和 qux可以在三个位置之一 - A , B , 或 C . 他们的第一
我正在尝试实现“运行长度编码”的功能,但我卡在了中间。 例如,我有字符串:"RRRTTTFBB",我试图将其分离为这种数组:["RRR", "TTT", "F", "BB"]. 我只设法像这样将项目放
目前我正在学习 Python,我想进一步了解数据压缩。所以我决定尝试编写运行长度编码 (RLE)。 据我了解,当您尝试压缩图片时,它会很有用。 我想知道对于初学者来说最简单的图像文件类型是什么?如何使
我对如何在符号序列上使用 RLE 有困难。 例如,我可以对像这样的字符串进行 RLE 编码 "ASSSAAAEERRRRRRRR" 将转换为: "A1S3A3E2R8". 但我想对像这样的字符串执行
我正在尝试为字符制作一个 RLE(运行长度编码器)程序。我在网上阅读了它在笔记上的工作方式。我试图修复我的代码!不管我认为代码的步骤是对的,代码都不行!它在运行时出现了一些奇怪的“Z”。我真的找不到哪
我正在从事一个嵌入式项目 (ARM7)。在我的应用程序中,我必须存储大量汉字,这会浪费我大约 300k 的闪存。当前的字体编码是 Unicode,每个字符包含 22 个字节,因为每个字形都是 12*1
我正在编写面试工作簿并正在做这个问题:使用重复字符的计数实现一个函数来压缩字符串(aabcccccaaa 将变为 a2blc5a3)。如果“压缩”不小于原始字符串,则返回原始字符串。 我找到的解决方案
我是一名优秀的程序员,十分优秀!