图像
1. 读入图像
# imread()
# 第一个参数为需要读取图像的路径
# 第二个参数默认为 IMREAD_COLOR 读入一幅彩色图像
# IMREAD_GRAYSCALE 以灰度模式读入图像
# IMREAD_UNCHANGED 读入一幅图像,并且包括图像的alpha通道 即读入原图像不做任何处理
img = cv2.imread("rabbit.jpeg")
通常代码写为:
# 0:IMREAD_GRAYSCALE
# 1:IMREAD_COLOR
# -1:IMREAD_UNCHANGED
img = cv2.imread('rabbit.jpeg',0)
2. 显示图像
cv2.imshow('show_window',img) # 参数对应为:显示窗口名,要显示的图像
cv2.waitKey(0) # 时间尺度是毫秒级,等待特定的几毫秒,0:无限等待键盘输入,按任意键终止
cv2.destroyAllWindows() # 删除所有窗口
或者使用Matplotlib库:
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('rabbit.jpeg',0) # 以灰度模式读入图像
plt.imshow(img, cmap='gray',interpolation = 'bicubic') # 负责对图像进行处理,并显示其格式,但是不能显示。
plt.xticks([]) # 隐藏 X 坐标
plt.yticks([]) # 隐藏 Y 坐标
plt.show() # 显示图像
注
:彩色图像
使用 OpenCV
加载是 BGR
模式,但 Matplotlib
是 RGB
模式。彩色图像如果已被OpenCV读取,那它将不会被Matplotlib正确显示。
3. 保存图像
cv2.imwrite('rabbit_gray',img) # 保存的文件名,要保存的图像
4. 练习
加载一个灰度图,显示图片,按下 S 键保存后退出,或者按下 ESC 键退出不保存。
import cv2
img = cv2.imread('rabbit.jpeg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('show_img',img)
cv2.waitKey(0)
if k == 27: # ESC的ASCII码十进制表示为27
cv2.destroyAllWindows()
elif k == ord('S'):
cv2.imwrite('rabbit_gray.jpeg',img)
cv2.destroyAllWindows()