gpt4 book ai didi

python - 如何在 Python 中打开图像

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:14 25 4
gpt4 key购买 nike

我是 Stackoverflow 的新手,仍在学习 Python,但我正在尝试开始我的一个项目。我计划使用 python 创建图像过滤器。我想学习的第一步是如何在 python 中打开图像。这是我到目前为止所拥有的:

from PIL import Image
im = Image.open('Jordan.jpg')
im.show()

我走在正确的道路上吗?我正在使用Python 2.7

最佳答案

与图像对应的最自然的Python对象是多维数组;这是最自然的表示形式,也是操作图像的最佳数据结构,正如您打算通过创建过滤器来实现的那样。

Python 有一个数组模块,但是,为了创建和操作多维数组(例如创建过滤器),我强烈建议安装两个 python 库 NumPySciPy从此处提供的链接或pip安装它们:

pip install numpy
pip install scipy


>>> from scipy import misc as MSC
>>> imfile = "~/path/to/an/image.jpg"

使用 scipy 杂项模块中的 imread 函数,该函数实际上只是在底层调用 PIL;此函数将读取 jpeg 和 png 图像

>>> img = MSC.imread(imfile)

验证它是一个 NumPy 数组

>>> isinstance(img, NP.ndarray)
True

彩色图像具有三个轴:X(宽度)、Y(高度)和 Z(组成 RGB 元组的三个元素;

前两个轴是图像的像素宽度和高度,最后一个维度应为“3”(对于具有 Alpha channel 的“png”图像,应为“4”)

>>> img.shape
(200, 200, 3)

从图像中心粗略地选择一个像素(单个 RGB 三元组)

>>> img[100,100,:]
array([83, 26, 17], dtype=uint8)

如果你调用Matplotlib的imshow方法并传入这个NumPy数组,它将渲染图像

关于python - 如何在 Python 中打开图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28185546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com