繁体   English   中英

为什么图像的每个像素都等于 255?

[英]why is every pixel of an image are equal to 255?

我正在试验 PIL 并尝试分析我附加的图像。 由于我的目标是最终能够通过神经网络识别它,因此我希望所有像素具有不同的强度,因此值范围为 0 到 255。我不确定为什么,该图像的每个像素都等于 255。怎么会这样? 我到底做错了什么?

import numpy as np
import pandas as pd
import PIL
from PIL import Image

img = Image.open(r'key_1.jpg')
print(img.format)
print(img.size)
print(img.mode)
img # displays the image

img_sequence = img.getdata()
img_array = np.array(img_sequence)
print((img_array)) # all pixels = 255

在此处输入图像描述

事实上,他们不是。 您只能在显示 255 的位置看到顶部和最后几行,因为那里的像素是白色的。 如果您尝试使用 PIL/OpenCV 读取相同的数组,结果将正确显示。

但是,您可以使用此方法查看 NumPy 数组的所有结果 -

img_sequence = img.getdata()
img_array = np.array(img_sequence)

np.set_printoptions(threshold=np.inf)
print(img_array)

我为同一张图片获得的 output 随机部分的示例屏幕截图 -

输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM