使用Python读取图像?


使用OpenCV进行图像处理

OpenCV(开源计算机视觉)是一个开源编程库,主要用于机器学习和计算机视觉。它提供用于处理计算机视觉应用程序的通用基础架构,并加快机器学习在商业产品中的使用。

它包含超过2500个针对计算机视觉和机器学习的优化算法,这些算法既经典又属于最新技术。如此众多的算法使其能够用于多种用途,包括人脸检测和识别、物体识别、对视频中人物行为进行分类、跟踪摄像机运动、将图像拼接在一起以生成整个场景的高分辨率图像等等。

在本教程中,我将尝试解释如何使用OpenCV库和Python来读取和显示图像。这使用cv2和NumPy模块实现。

您可以从Python包索引(PyPI)下载NumPy模块。

$ pip install numpy

读取图像

我们使用cv2.imread()函数来读取图像。图像应该放在当前工作目录中,否则我们需要提供绝对路径。

import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('Top-bike-wallpaper.jpg',0)

显示图像

要在窗口中显示图像,请使用cv2.imshow()函数。

#Display the image
cv2.imshow('image',img)
#key binding function
cv2.waitKey(0)
#Destroyed all window we created earlier.
cv2.destroyAllWindows()

运行以上代码后,窗口截图如下所示,

写入图像

使用函数**cv2.imwrite()**保存图像。

第一个参数是文件名,第二个参数是要保存的图像。

cv2.imwrite('messigray.png',img)

总结:

import numpy as np
import cv2

#Read the Image
# Load an color image in grayscale
img = cv2.imread('Top-bike-wallpaper.jpg',0)

#Display the image
cv2.imshow('image',img)

#key binding function
k = cv2.waitKey(0)

# wait for ESC key to exit
if k == 27:
   cv2.destroyAllWindows()
# wait for 's' key to save and exit
elif k == ord('s'):
   cv2.imwrite('myBike.jpg',img)
   cv2.destroyAllWindows()

按“s”保存图像,或按“ESC”键直接退出而不保存。

使用Python图像库(PIL)

Python图像库(PIL)是Python中的图像处理库。使用pip安装PIL库:

$ pip install Pillow

from PIL import Image, ImageFilter

#Read image
im = Image.open( 'myBike.png' )

#Display image
im.show()

#Applying a filter to the image
im_sharp = im.filter( ImageFilter.SHARPEN )

#Saving the filtered image to a new file
im_sharp.save( 'another_Bike.jpg', 'JPEG' )

输出

图像保存在我的默认位置,即当前工作目录,并且窗口截图将显示我们的图像。

更新于:2019年7月30日

8K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告