【发布时间】:2016-05-07 20:37:17
【问题描述】:
我正在使用 Python 的 Anaconda 发行版,其中包含 numpy、scipy 和 scikit-image 等内容。
当我打电话时:
from skimage import io
img = io.imread('myimage.png')
它会忽略我的 Alpha 通道,并将图像作为形状为 (W, H, 3) 而不是 (W, H, 4) 的数组返回。如何获取图片的alpha通道?
【问题讨论】:
-
如果您的文件是带有 alpha 通道的 indexed PNG,并且如果 skimage 使用的后端是枕头,则存在一个错误(在 12 月修复)可能导致要丢失的 alpha 通道:github.com/scikit-image/scikit-image/pull/1790
-
我不确定我的文件的 PNG 类型。如何判断 PNG 是否为 indexed png?
-
我从famitsu.com/freegame/tool/chibi/index1.html 之类的页面中获取这些精灵(无法再讲述生成过程,因为它不是由 html 画布而是由服务器端代码制成的)
-
在我的 Mac 上,我打开文件(即从终端,
open myimage.png,或在 Finder 中双击),它使用预览查看文件。在预览中,使用工具/显示检查器打开一个包含图像信息的窗口。在 Linux 中,您可以使用pnginfo之类的东西,或者图像编辑器可能会显示信息。我不怎么使用 Windows,所以我不知道那里最简单的选择是什么。 -
@StepanYakovenko,我看到你为这个问题添加了赏金。您安装了哪些版本的
scikit-image和pillow?我刚刚尝试使用 scikit-image 0.15.0 和枕头 6.0.0 读取两个具有 alpha 通道的不同 PNG 文件(一个被索引,另一个没有)。在这两种情况下,图像(包括 Alpha 通道)都被正确读取。
标签: python numpy anaconda scikit-image