问题标签 [pypng]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
882 浏览

python - 在 Raspbian 上使用 PyPNG 选择性地更改 png 像素

我正在尝试检查我用 Raspberry pi 的相机捕获的 png 的每个像素,并有选择地更改高于或低于某个 r、g 或 b 值的像素。我知道这是一个非常低效的算法,我只是想掌握 python 脚本的窍门。我的代码基于@Constantin 的代码,来自以下问题:如何在 Python 中读取给定像素的 RGB 值? 他的代码如下。

我把它改成这样:

发生的事情是 pi 思考了一两分钟,然后我可以打开一个完全相同的新 png。我的脚本缺少什么,或者是否有比 python 更好的平台来在 Raspbian Jessie 上逐像素处理?

非常感谢!

0 投票
1 回答
182 浏览

python - 使用 PyPNG 模块创建填充图像

如果没有 numpy 模块,我怎么能做到这一点?它绘制了一个 256x256 的白色正方形

0 投票
2 回答
2818 浏览

python - 无法打开图像。不是有效的位图文件或其格式当前不受支持

我编写了这个 Python 程序来创建矩阵(二维数组)并将其保存到 .png 文件中。该程序编译并运行,没有任何错误。即使创建了 IMAGE.png 文件,但 png 文件也不会打开。当我尝试在 MSpaint 中打开它时,它说:

无法打开图像。不是有效的位图文件或其格式当前不受支持。

源代码:

我不明白我哪里出错了,因为没有错误消息。请帮忙。

PS-我只是想将矩阵保存为图像文件,所以如果您在 Python2.7 中有更好更简单的方法,请建议。

谢谢你。

0 投票
1 回答
874 浏览

python - 以 .png 格式存储带有颜色的 2D 数组

我编写了这个 Python 程序来创建矩阵(二维数组)并将其保存到 .png 文件中。该程序编译并运行,没有任何错误。即使创建了 IMAGE.png 文件,但 png 文件也不会打开。当我尝试在 MSPaint 中打开它时,它说:

无法打开图像。不是有效的位图文件或其格式当前不受支持。

我的目标是根据 2D 数组中存储的数字创建一个 RBG png 图像。

源代码:

我不明白我哪里出错了,因为没有错误消息。请帮忙。

PS-我只是想将矩阵保存为图像文件,所以如果您在 Python2.7 中有更好更简单的方法,请建议。

0 投票
0 回答
1702 浏览

python-3.x - 如何将 Python/Pillow 中 PNG 图像的调色板减少到真正使用的颜色?

在使用以下代码处理先前优化的具有透明度的索引彩色 PNG 图像后(有关某些背景,请参见此处,因为此问题涉及相同的图像文件),PLTE 块似乎使用比有效使用的颜色更多的颜色进行扩展。

亩电流代码:

使用pngcheck我为原始文件获得了一个小的 16 色调色板:

然后,在使用上面的代码示例处理图像后,pngcheck会显示一个更大的 PLTE 块,其中填充了许多(可能未使用的)颜色值:

(...) --- 它继续列出所有高达 255 的值:

这种行为在 Pillow 上正常吗?有什么方法可以保存更短的 PLTE 块,类似于原始文件(我正在尝试优化更小的文件大小)?

如果 Pillow 做不到,还有其他简单的方法可以做到吗?最好使用纯 Python,但如果有帮助,它也可以带有numpy或一些额外的纯 Python 包,比如PyPNGor PurePNG

0 投票
1 回答
5117 浏览

python-3.x - 如何在 Anaconda Python3 环境中为 python 安装 png 模块

我正在尝试设置一个可以访问 png 模块的 Python 3 环境。当我列出已安装的软件包时,我得到了这个:

由于我有 png、pypng 和 libpng,我真的希望能够导入 png,但是当我尝试时,我得到了这个:

还有什么我需要安装的,或者我需要了解安装到 conda 环境中的一些东西吗?

0 投票
0 回答
425 浏览

python-3.x - 将 pypng 转换为 numpy 数组

我正在尝试将 pypng 数据结构转换为 numpy 数组(使用 PIL,您可以调用 numpy.array(img) 并且它可以工作),但我不确定如何使用 pypng。我需要使用 48 位图像,所以我需要使用 pypng。

我已将文档中建议的方法改编为 python3,但它似乎给了我错误的类型。

有我的尝试:

0 投票
1 回答
241 浏览

python - 无法使用 pypng 从 url 创建图像

我对 pypng 和 python 本身非常陌生,我一直在研究一个天气 api 程序,该程序应该从 openweathermap.org 获取图像。我已经用谷歌搜索了几个小时,似乎无法找到解决我遇到的错误的方法。编码:

我从 JSON 数据中获取图标代码并使用它来创建 url,weatherIcon 是一个标签。我不断收到的错误是:

非常感谢任何帮助,非常感谢。

0 投票
1 回答
3004 浏览

python-3.x - 使用 pypng 将 24 位 PNG 文件转换为 8 位彩色索引图像

我正在尝试编写一个 python 脚本,它接受标准的 24 位 png 并将它们转换为 8 位 png 以实现更好的压缩。看起来 pypng 可以做到这一点,但我不太清楚如何使用它。图像处理对我来说是一个新领域,所以这看起来很愚蠢。我目前有这个:

这给了我作为回报的元组(我相信的图像层)。但是,我似乎无法将其写入或保存回图像。我错过了什么?这是一张测试图片

0 投票
1 回答
61 浏览

python - Pypng:numpy数组与输出PNG文件不同

我正在尝试编写一个程序来创建一个 png 文件并将外部像素涂成黑色。我只需要黑白,所以 bitdepth=1 适用于我的情况。

如果我将迷宫打印到控制台,它看起来很好:

png.png 文件看起来不像 numpy 数组

(1是黑色,0是白色,因为我不能上传图片)

我不知道为什么我的控制台输出与 png 文件不同。我正在努力阅读 png 文件。我知道有一个带有 png.Reader 的 read() 方法,但会引发错误:“png.FormatError: FormatError: PNG file has invalid signature。”