Python里关于图像的打开显示有很多种方法,因为经常容易记混,所以简单罗列一下:
使用PIL库
要使用python进行各种开发,就必须安装对应的库。这和matlab非常相似,只是matlab里面叫工具箱(toolbox),而python里面叫库或包。安装这些库,一般都是使用pip来安装。
pip install Pillow
使用python进行数字图片处理,还得安装Pillow包。虽然python里面自带一个PIL(python images library), 但这个库现在已经停止更新了,所以使用Pillow, 它是由PIL发展而来的。
用Pillow打开图片,直接用open()、save()、show()函数即可
代码示例如下,打开一副图片,在上面添加文字并显示
from PIL import Image, ImageDraw,ImageFont
im = Image.open("d:/2.JPG").convert('RGBA')
txt=Image.new('RGBA', im.size, (0,0,0,0))
fnt=ImageFont.truetype("c:/Windows/fonts/Tahoma.ttf", 20)
d=ImageDraw.Draw(im)
d.text((txt.size[0]-80,txt.size[1]-30), "Gunflame",font=fnt, fill=(255,255,255,255))
out=Image.alpha_composite(im, txt)
out.show()
out.save('d:/22.jpg')
比较简单
OpenCV里打开保存图片又有两种方式,一种是用直接用cv2里的imread和imwrite函数来进行图片的打开和保存的,用imshow来进行显示。
import numpy as np
import cv2
img = cv2.imread('messi5.jpg', 0)
cv2.imshow('image', img)
k = cv2.waitKey(0)
一种是用cv2.cv里的LoadImage、ShowImage和SaveImage函数
import cv2.cv as cv
image = cv.LoadImage('img/image.png', cv.CV_LOAD_IMAGE_COLOR)
cv.NamedWIndow('a window', cv.CV_WINDOW_AUTOSIZE)
cv.ShowImage('a_window', image)
cv.SaveImage('thumb.png'. thumb)
cv.WaitKey(0)
以上几种方式打开图片都是默认调用系统的图片浏览器来显示图片的,如果想要用程序来绘制显示图片,可以使用matplotlib的库来绘制图片进行显示。matplotlib是一个专业绘图的库,相当于matlab中的plot,可以设置多个figure,设置figure的标题,甚至可以使用subplot在一个figure中显示多张图片。matplotlib 可以直接安装。
from PIL import Image
import matplotlib.pyplot as plt
img=Image.open('d:/dog.png')
plt.figure("dog")
plt.imshow(img)
plt.show()