如何在 Python 中使用 scikit-learn 查看图像的像素值?


数据预处理基本上指的是将所有数据(从各种资源或单个资源收集)收集到通用格式或统一数据集(取决于数据类型)的任务。

由于现实世界中的数据永远不会是理想的,因此数据可能存在缺失单元格、错误、异常值、列不一致等问题。

有时,图像可能未正确对齐,或者可能不清晰或尺寸过大。预处理的目标是消除这些差异和错误。

要获取图像的像素,可以使用名为“flatten”的内置函数。读取图像后,像素值将以数据帧的形式存储。使用“flatten”函数将 RGB 图像的三维转换为一维,并将像素值获取到数据帧中。

无需打印整个数据帧,而是打印数据帧的维度。让我们以上传图像并使用 scikit-learn 库将图像中存在的像素作为数据帧获取为例:

示例

from skimage import io
import pandas as pd
path = "path to puppy.PNG"
img = io.imread(path)
print("Image being read")
io.imshow(img)
print("Image printed on console")
my_df = pd.DataFrame(img.flatten())
print("The image pixels dimensions are ")
print(my_df.shape)

输出

Image being read
Image printed on console
The image pixels dimensions are
(886104, 1)

解释

  • 导入所需的库。

  • 定义图像存储的路径。

  • 使用“imread”函数访问路径并读取图像。

  • 使用“imshow”函数在控制台上显示图像。

  • 使用“flatten”函数将 RGB 图像的三维转换为一维,并将像素值获取到数据帧中。

  • 无需打印行数过多的数据帧,而是显示数据帧的维度。

  • 可以使用“print(my_df)”查看数据帧。

  • 输出是在控制台上打印图像像素值的数据帧。

更新于: 2020-12-10

593 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告