matplotlib 和 cv plot image

這篇只是把 matplotlib 和 cv 一些簡單的繪圖方法記下來,matplotlib 用起來和 matlab 相當類似,熟悉 matlab 的人應該可以輕鬆上手。


1. matplotlib 直式顯示兩張圖片:

if __name__ == "__main__":
    from PIL import Image
    import numpy as np
    from matplotlib import pyplot as plt

    # read an image into different format
    pil_img = Image.open("TT.jpg")
    pil_gray_img = Image.open("TT.jpg").convert("L")
    
    img = np.array(pil_img)
    img_gray = np.array(pil_gray_img) 
    
    # display the image on different sub figures
    plt.subplot(211)
    plt.imshow(img)
    
    plt.subplot(212)
    plt.imshow(img_gray, cmap="gray")
    
    plt.show()

2. cv 顯示圖片:

if __name__ == "__main__":
    import cv2
    image = cv2.imread("TT.jpg")
    cv2.namedWindow('Tower', cv2.WINDOW_NORMAL)
    cv2.imshow('Tower',image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

就是一般的顯示圖。


3. cv read 然後 matplotlib 顯示圖片:

if __name__ == "__main__":
    import cv2
    from matplotlib import pyplot as plt
    image = cv2.imread("TT.jpg")
    plt.imshow(image)
    plt.show()

!!! OpenCV 預設是 BGR 但 Matplotlib 顯示是 RGB。 !!!

留言

熱門文章