2024-04-20 06:38:34 发布
网友
假设我有一张黑白图像,我如何将每一点的颜色强度转换成一个表示其相对强度的数值?在
我在网上查了一下,发现了以下内容: 强度=np.A阵列(PIL.Image.open文件('测试.jpg'))
asarray和array有什么区别? 阵列强度的形状为181L,187L,3L。图像的大小测试.jpg是181x187,那么额外的“3”代表什么?在
还有其他更好的方法来提取图像的颜色强度吗? 谢谢您。在
打开的图像是彩色图像,而不是黑白图像。形状是181x187x3的原因是:3是因为每个像素都是一个RGB值。通常黑白图像实际上是以RGB格式存储的。对于图像image,如果np.all(image[:,:,0]==image[:,:,1])等等,那么您可以选择使用其中任何一个(例如,image[:,:,0])。或者,你可以用np.mean(image,axis=2)取平均值。
image
np.all(image[:,:,0]==image[:,:,1])
image[:,:,0]
np.mean(image,axis=2)
另外请注意,值的范围将取决于格式,因此根据您所说的颜色强度,您可能需要将其规格化。对于jpeg,它们可能是uint8s,所以您可能需要image[:,:,0].astype('float')/255或类似的东西。
image[:,:,0].astype('float')/255
打开的图像是彩色图像,而不是黑白图像。形状是181x187x3的原因是:3是因为每个像素都是一个RGB值。通常黑白图像实际上是以RGB格式存储的。对于图像
image
,如果np.all(image[:,:,0]==image[:,:,1])
等等,那么您可以选择使用其中任何一个(例如,image[:,:,0]
)。或者,你可以用np.mean(image,axis=2)
取平均值。另外请注意,值的范围将取决于格式,因此根据您所说的颜色强度,您可能需要将其规格化。对于jpeg,它们可能是uint8s,所以您可能需要
image[:,:,0].astype('float')/255
或类似的东西。相关问题 更多 >
编程相关推荐