使用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' )
输出
图像保存在我的默认位置,即当前工作目录,并且窗口截图将显示我们的图像。
广告