代码:
# import the cv2 library
import cv2
# The function cv2.imread() is used to read an image.
# Read an image
img_color = cv2.imread('test.jpg',cv2.IMREAD_COLOR)
img_grayscale = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE)
img_unchanged = cv2.imread('test.jpg',cv2.IMREAD_UNCHANGED)
# The function cv2.imwrite() is used to write an image.
cv2.imwrite('grayscale.jpg',img_grayscale)
cv2.imwrite('unchanged.jpg',img_unchanged)
cv2.imwrite('color.jpg',img_color)
# The function cv2.imshow() is used to display an image in a window.
cv2.imshow('graycsale image',img_grayscale)
cv2.imshow('color image',img_color)
cv2.imshow('unchanged image',img_unchanged)
# waitKey() waits for a key press to close the window and 0 specifies indefinite loop
cv2.waitKey(0)
# cv2.destroyAllWindows() simply destroys all the windows we created.
cv2.destroyAllWindows()
结果:
详细解释:
读取图像
imread(filename, flags)
- filename 文件名
- flags(-1,0,1) 默认为1
-
注:OpenCV 以 BGR 格式读取彩色图像
# Read an image
img_color = cv2.imread('test.jpg',cv2.IMREAD_COLOR)
img_grayscale = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE)
img_unchanged = cv2.imread('test.jpg',cv2.IMREAD_UNCHANGED)
写入图像
imwrite(filename, image).
第一个参数是文件名,它必须包含文件扩展名(例如 .png、.jpg 等)。OpenCV 使用此文件扩展名来指定文件的格式。
第二个参数是您要保存的图像。如果图像保存成功,该函数返回True。
显示图像
imshow(window_name, image)
第一个参数是将显示在窗口上的窗口名称
第二个参数是您要显示的图像。
waitKey()函数是一个键盘绑定函数。
它接受一个参数,即窗口将显示的时间(以毫秒为单位)。
如果用户在此时间段内按下任意键,程序将继续。
如果传递了 0,程序将无限期地等待击键。
您还可以设置该功能来检测特定的击键,例如键盘上的 Q 键或 ESC 键,从而更明确地告诉哪个键应触发哪个行为。
# cv2.waitKey(0)
cv2.waitKey() == ord('q') or ord('esc')