def image():
# 读入图像。这幅图像应该在此程序的工作路径, 或者给函数提供完整路径, 第二个参数是要告诉函数应该如何读取这幅图片。
# cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,1 这是默认参数。 • cv2.IMREAD_GRAYSCALE:以灰度模式读入图像 0
# cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的alpha通道 -1
image = cv2.imread("f.jpg", cv2.IMREAD_UNCHANGED)
# 使用函数显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。你可以创建多个窗口,只要你喜欢,但是必须给他们不同的名字
cv2.imshow("f图像", image)
# cv2.waitKey() 是一个键盘绑定函数。需要指出的是它的时间尺度是毫 秒级。函数等待特定的几毫秒,看是否有键盘输入。
# 特定的几毫秒之内,如果 按下任意键,这个函数会返回按键的 ASCII 码值,程序将会继续运行。
# 如果没 有键盘输入,返回值为 -1,如果我们设置这个函数的参数为 0,那它将会无限 期的等待键盘输入。
# 它也可以被用来检测特定键是否被按下,例如按键 a 是否 被按下,这个后面我们会接着讨论。
cv2.waitKey(0)
# cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果 你想删除特定的窗口可以使用 cv2.destroyWindow(),在括号内输入你想删 除的窗口名。
cv2.destroyWindow("f图像")
# 也可以先创建窗口再显示图片,初始参数 cv2.WINDOW_AUTOSIZE
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
# 现在可以修改窗口大小了,使用该函数即可
cv2.resizeWindow("image", 1000, 100)
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存图像使用函数cv2.imwrite(),来保存一个图像。首先需要一个文件名,之后才是你要保存的图像。
image = cv2.imread("f.jpg", cv2.IMREAD_GRAYSCALE)
cv2.imshow("f.jpg", image)
# a = cv2.waitKey(0) 在某些系统中,返回的键盘值可能不是ASCII编码的,所以通过与运算只取字符最后一个字节。
a = cv2.waitKey(0) & 0xFF
if a == 27:
cv2.destroyAllWindows()
print(a)
elif a == ord("s"):
cv2.imwrite('messigray.png', image)
return
image()