我有一个灰度图像阵列
Array
像这样的数组样本;
array([[[142, 142, 142],
[143, 143, 143],
[142, 142, 142],
...,
[147, 147, 147],
[148, 148, 148],
[143, 143, 143]],
[[142, 142, 142],
[142, 142, 142],
[142, 142, 142],
...,
[148, 148, 148],
[150, 150, 150],
[147, 147, 147]],
数组类型是
Array.dtype
dtype('uint8')
我想绘制这个数组的16,32和64-bin直方图,谁都有想法?
我注意到你有一个RGB图像(3个通道)。您可能希望通过每个通道(红色,绿色和蓝色)可视化其直方图。
您可以使用pandas
轻松实现此目的。例如,给定与您的变量img
具有相同数据结构的RGB图像数组Array
,您可以通过将每个通道的直方图转换为DataFrame
来绘制直方图
import pandas as pd
df = pd.DataFrame({
'red': img[...,0].ravel(),
'green': img[...,1].ravel(),
'blue': img[...,2].ravel()
})
然后使用plot.hist
绘制它
df.plot.hist(bins=n_bins, alpha=.3, xlim=[0,255], color=['red', 'green', 'blue'])
其中n_bins
是垃圾箱的数量。
对于n_bins=16
对于n_bins=32
对于n_bins=64