目标
- 学习读取、显示、保存图片;
- 涉及到3个函数cv2.imread(),cv2.imshow(),cv2.imwrite();
- 学习用Matplotlib显示图片。
使用OpenCV
读取图片
imread函数有两个参数,第1个参数是图片的路径,第2个参数是图片的读取方式,可选值包括:
- cv2.IMREAD_COLOR(1):读入彩色图片,忽略图片的透明度。
- cv2.IMREAD_GRAYSCALE(0): 读入灰度图片。
- cv2.IMREAD_UNCHANGED(-1): 读入时包括透明(alpha)通道。
import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('01.jpeg',0)
显示图片
使用函数cv2.imshow()在窗口中显示图片,窗口自动适应图片大小。第1个参数是个字符串作为窗口的名字,第2个参数是通过imread()得到的图形对象。窗口的名称不能重复。
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey()用于等待键盘输入。参数是等待键盘输入的时间,单位是毫秒(milliseconds)。这个时间内按任意键,程序将继续执行。如果传入0,则一直等待键盘输入。
cv2.destroyAllWindows()销毁所有窗口,或者用cv2.destroyWindow(name)销毁指定的窗口。
保存图片
用cv2.imwrite()函数保存图片。第1个参数是保存图片的文件名,第2个参数是图片对象。
cv2.imwrite('01-gray.png',img)
代码整合
# coding: utf-8
import numpy as np
import cv2 as cv
# 准备任意1张图片
img = cv.imread('01.jpeg', cv.IMREAD_GRAYSCALE)
cv.imshow('image', img)
k = cv.waitKey(0)
if k == 27: # wait for ESC key to exit
cv.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
cv.imwrite('01-gray.png', img)
cv.destroyAllWindows()
使用Matplotlib
Matplotlib是python的一个绘图库。
# coding: utf-8
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
img = cv.imread('01.jpeg', cv.IMREAD_GRAYSCALE)
plt.imshow(img, cmap='gray', interpolation='bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()
网友评论