图像入门

图像入门

1. 大纲

1、学习如何读取图像,如何显示图像,以及如何将其保存回去

2、学习cv.imread()cv.imshow()cv.imwrite()

2. 读取图像

使用cv.imread()函数读取图像,路径为绝对路径或者工作目录。第二个参数指定了读取图像的方式:

cv.IMREAD_COLOR:加载彩色图像。任何图像的透明度都会被忽视。

cv.IMREAD_GRAYSCALE:以灰度模式加载图像。

cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。

实例代码如下:

import cv2 as cv

if __name__ == "__main__":
    # 加载彩色灰度图像
    img = cv.imread('Lena.bmp', 0)
    cv.imshow('image', img)
    cv.waitKey(0)
    cv.destroyAllWindows()

3. 读取图像

​ 使用cv.imshow()函数,并创建窗口显示图像。第一个参数是窗口的名字,第二个参数是照片的名称。通过调用destroyAllWindows()销毁所有窗口。

​ 大小可变窗口代码如下:

cv.namedWindow('image', cv.WINDOW_NORMAL)

4. 写入图像

​ 使用cv.imwrite()保存图像,第一个参数是文件名,第二个参数是要保存的图像。图像将会以.png的格式被保存到工作目录

​ 在下面的程序中,以灰度加载图像,显示图像,按 s 保存图像并退出,或者按 ESC 键直接退出而不保存。

import numpy as np
import cv2 as cv
    img = cv.imread('messi5.jpg',0)
    cv.imshow('image',img)
    k = cv.waitKey(0)
    if k == 27: # 等待ESC退出
    	cv.destroyAllWindows()
    elif k == ord('s'): # 等待关键字,保存和退出
    	cv.imwrite('messigray.png',img)
    	cv.destroy

5. 使用Matplotlib

Matplotlibpython的绘图库,下面使用matplotlib对图像进行显示。代码如下:

import cv2 as cv
import matplotlib.pyplot as plt

if __name__ == "__main__":
    # 加载彩色灰度图像
    img = cv.imread('Lena.bmp', 0)
    plt.imshow(img, cmap='gray', interpolation='bicubic')
    plt.xticks([]), plt.yticks([])
    plt.show()

posted @ 2023-05-28 00:23  叽叽cccc  阅读(20)  评论(0)    收藏  举报