emh*_*emh 3 python histogram pillow
来自文档:
im.histogram()=>列表
返回图像的直方图.直方图作为像素计数列表返回,对应于源图像中的每个像素值.如果图像具有多于一个波段,则所有波段的直方图被连接(例如,"RGB"图像的直方图包含768个值).
据我所知,红色有256个值,绿色有256个,蓝色有256个(256*3 = 768).
for i, value in enumerate(im.histogram()):
print i, value
Run Code Online (Sandbox Code Playgroud)
生产:
0 329
1 145
... (skipping some)
256 460
... (skipping some)
767 3953
Run Code Online (Sandbox Code Playgroud)
我的问题是:这是否意味着有:
329个像素是有值R = 0, G = 0, B = 0和
145个像素是有值R = 1, G = 0, B = 0和
460个像素是有值R = 256, G = 1, B = 0和
3953点的像素是有一个价值R = 256, G = 256, B = 256等等?
这是我应该如何阅读输出?
我没有测试过,但是从文件,措辞似乎表明,直方图仅适用于每个通道(如红,绿,蓝)分别.
如果图像具有多于一个波段,则所有波段的直方图被 连接(例如,"RGB"图像的直方图包含768个值).
所以,不,你给出的例子并不正确.768价值观就是256 * 3,这是有可能的红色值的数量,加上可能的绿色值的数量,加上可能的蓝色值的数目独立.它并不代表红色,绿色和蓝色的所有可能组合,而不是256 ^ 3 == 16777216.
从我所看到的,您的示例直方图值的解释应该是:
329 pixels with value of R = 0, G = ?, B = ? and
145 pixels with value of R = 1, G = ?, B = ? and
...
460 pixels with value of R = ?, G = 1, B = ? and
...
3953 pixels with value of R = ?, G = ?, B = 256
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6955 次 |
| 最近记录: |