OpenCV系列02丨图像的读取显示和保存

1. 读取图像


效果展示

2020-07-27-11-15-19


import cv2 as cv 
import numpy as np 


def read_image():
    '''
    参数一是图像路径,参数二是一个标志,它指定了读取图像的方式:
    1    cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。
    0    cv.IMREAD_GRAYSCALE:以灰度模式加载图像
    -1   cv.IMREAD_UNCHANGED:加载图像,包括alpha通道
    '''
    img = cv.imread("/home/kang/Pictures/0722164220.png",-1)
    # 创建空窗口,默认cv.WINDOW_AUTOSIZE,如果将标志指定为cv.WINDOW_NORMAL,则可以调整窗口大小
    cv.namedWindow('images',cv.WINDOW_NORMAL)
    # 窗口中显示图像,参数一是窗口名称,它是一个字符串
    cv.imshow('image',img)
    # 是一个键盘绑定函数。其参数是以毫秒为单位的时间,如果0被传递,它将无限期地等待一次敲击键
    cv.waitKey(0)
    # 销毁指定窗口,在其中传递确切的窗口名称作为参数
    # cv.destroyWindow()
    # 销毁所有窗口
    cv.destroyAllWindows()

read_image()

2. 写入图像


效果展示

![07-01](httpscdn.jsdelivr.netghluckykangpicture_bedblogs_images07-01.png)


def write_image():
    img = cv.imread("/home/kang/Pictures/0722164220.png",0)
    # 创建空窗口,默认cv.WINDOW_AUTOSIZE,如果将标志指定为cv.WINDOW_NORMAL,则可以调整窗口大小
    cv.namedWindow('images',cv.WINDOW_NORMAL)
    # 窗口中显示图像,参数一是窗口名称,它是一个字符串
    cv.imshow('image',img)
    k = cv.waitKey(0)
    # 按 ESC 键直接退出而不保存
    if k == 27:
        cv.destroyAllWindows()
    # 按 s 保存图像并退出
    elif k == ord('s'):   
        cv.imwrite('write.png',img)
        cv.destroyAllWindows()

write_image()

3. 使用matplotlib显示图像


效果展示

2020-07-28-14-19-06


代码:

from matplotlib import pyplot as plt 
import cv2 as cv 

def inshow_info():
    img = cv.imread("/home/kang/Pictures/0722164220.png",0)
    plt.imshow(img,cmap = "gray",interpolation = "bicubic")
    # 隐藏x轴和y轴上的刻度值
    plt.xticks([]),plt.yticks([])
    plt.show()

inshow_info()


转载请注明:康瑶明的博客