如何在 Python 中打开图片
How to open up an Image in Python
我是 Whosebug 的新手,仍在学习 python 但我正在尝试开始我的一个项目。
我计划使用 python 创建图像过滤器。我想学习的第一步是如何在 python 中打开图像。这是我目前所拥有的:
from PIL import Image
im = Image.open('Jordan.jpg')
im.show()
我走在正确的轨道上吗?我正在使用 Python 2.7
最自然的python图像对应的对象是多维数组;这是最自然的表示,也是处理图像的最佳数据结构,正如您打算通过创建滤镜来实现的那样。
Python 有一个数组模块,但是,为了创建和操作多维数组(例如,创建过滤器),我强烈建议安装两个 python 库 NumPy and SciPy从此处提供的链接或 pip 安装它们:
pip install numpy
pip install scipy
>>> from scipy import misc as MSC
>>> imfile = "~/path/to/an/image.jpg"
使用imread函数在scipy的杂项模块中,实际上只是在后台调用PIL;此函数将读取 jpeg 和 png 图像
>>> img = MSC.imread(imfile)
验证它是一个 NumPy 数组
>>> isinstance(img, NP.ndarray)
True
彩色图像具有三个轴:X(宽度)Y(高度)和 Z(构成 RGB 元组的三个元素;
前两个轴是图像的像素宽度和高度,
最后一个维度应该是“3”(或者对于具有 alpha 通道的 'png' 图像是“4”)
>>> img.shape
(200, 200, 3)
从图像中心粗略选择一个像素(单个 RGB 三元组)
>>> img[100,100,:]
array([83, 26, 17], dtype=uint8)
如果你调用Matplotlib的imshow方法并传入这个NumPy数组,它会渲染图像
我是 Whosebug 的新手,仍在学习 python 但我正在尝试开始我的一个项目。 我计划使用 python 创建图像过滤器。我想学习的第一步是如何在 python 中打开图像。这是我目前所拥有的:
from PIL import Image
im = Image.open('Jordan.jpg')
im.show()
我走在正确的轨道上吗?我正在使用 Python 2.7
最自然的python图像对应的对象是多维数组;这是最自然的表示,也是处理图像的最佳数据结构,正如您打算通过创建滤镜来实现的那样。
Python 有一个数组模块,但是,为了创建和操作多维数组(例如,创建过滤器),我强烈建议安装两个 python 库 NumPy and SciPy从此处提供的链接或 pip 安装它们:
pip install numpy
pip install scipy
>>> from scipy import misc as MSC
>>> imfile = "~/path/to/an/image.jpg"
使用imread函数在scipy的杂项模块中,实际上只是在后台调用PIL;此函数将读取 jpeg 和 png 图像
>>> img = MSC.imread(imfile)
验证它是一个 NumPy 数组
>>> isinstance(img, NP.ndarray)
True
彩色图像具有三个轴:X(宽度)Y(高度)和 Z(构成 RGB 元组的三个元素;
前两个轴是图像的像素宽度和高度, 最后一个维度应该是“3”(或者对于具有 alpha 通道的 'png' 图像是“4”)
>>> img.shape
(200, 200, 3)
从图像中心粗略选择一个像素(单个 RGB 三元组)
>>> img[100,100,:]
array([83, 26, 17], dtype=uint8)
如果你调用Matplotlib的imshow方法并传入这个NumPy数组,它会渲染图像