【OpenCV】1 读取与保存图片
慕课网课程笔记
一、创建显示窗口

import cv2
cv2.namedWindow('new', cv2.WINDOW_NORMAL) # 创建窗口
cv2.resizeWindow('new', 800, 600) # 窗口尺寸
cv2.imshow('new', 0) # 显示窗口
key = cv2.waitKey(0)
if (key & 0xFF == ord('q')):
cv2.destroyAllWindows()
二、加载并显示图片

import cv2
cv2.namedWindow('img', cv2.WINDOW_NORMAL) # 创建窗口
img = cv2.imread("img\cat.jpg")
cv2.imshow('img', img)
key = cv2.waitKey(0)
if (key & 0xFF == ord('q')):
cv2.destroyAllWindows()
三、保存图片
import cv2
cv2.namedWindow('img', cv2.WINDOW_NORMAL) # 创建窗口
img = cv2.imread("img\cat.jpg")
while True:
cv2.imshow('img', img)
key = cv2.waitKey(0)
if (key & 0xFF == ord('q')):
break
elif (key & 0xFF == ord('s')):
cv2.imwrite("img\cat_saved.jpg", img)
else:
print(key)
cv2.destroyAllWindows()


备注
💡 标为什么使用 if (key & 0xFF == ord('q'))
作用:
检测用户是否按下了键盘上的 q 键,从而触发退出程序的逻辑。跨平台兼容的按键检测方式,确保准确识别 q 键。
ord('q'):返回字符 q 的 ASCII 码
key & 0xFF:在某些操作系统或环境中,cv2.waitKey() 的返回值可能是一个 32 位整数(高 8 位可能包含额外信息),而我们只需要低 8 位的 ASCII 码部分。通过与 0xFF(二进制 11111111)进行按位与运算,可以提取出低 8 位,确保只比较按键的 ASCII 码。
浙公网安备 33010602011771号