BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 759|回复: 3

为嘛pylab的imread读这个png,array是3d的

[复制链接]
发表于 2015-4-16 22:25:34 | 显示全部楼层 |阅读模式
我用的软件,都告诉我,这是一个使用调色板的indexed文件,或者在pillow的P文件,没有谁说是LA啊
from pylab import *

imgGrayPng=imread('python-gray.png')
print (imgGrayPng.shape)    #(128, 128, 3),为嘛不是(128,128)
print (imgGrayPng.min(),imgGrayPng.max())   #(0.0, 0.98823529)
print ()
Ch1=imgGrayPng[:,:,0]
Ch2=imgGrayPng[:,:,1]
Ch3=imgGrayPng[:,:,2]
print (Ch1.min(), Ch1.max())    #(0.0, 0.98823529)
print (Ch2.min(), Ch2.max())    #(0.0, 0.98823529)
print (Ch3.min(), Ch3.max())    #(0.0, 0.98823529)
print ()

python-gray.png
 楼主| 发表于 2015-4-17 09:06:34 | 显示全部楼层
而这个png,读入的array如我所料是2d矩阵
imgRampPng=imread('ramp-gray.png')
print (imgRampPng.shape)   #(1, 255)
print (imgRampPng.min(),imgRampPng.max()) #(0.0, 0.99607843)

注意,下面这个图片高度只有1个像素



ramp-gray.png

回复 支持 反对

使用道具 举报

发表于 2015-4-17 09:56:35 | 显示全部楼层
我估计imread是不是内部转化为rgb了。

>>> from scipy import misc
>>> img = misc.imread("test.png")
>>> img.shape
(128, 128)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-17 10:26:27 | 显示全部楼层
那为啥第二个、同样是256色的灰度png不转换呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )360网站安全检测平台

GMT+8, 2019-8-23 05:09 , Processed in 0.027346 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表