matplotlib를 사용하여 여러 이미지를 표시하는 자체 제작 함수

여러 이미지를 matplotlib로 표시하는 함수입니다. 비망록으로 남깁니다.

소스 코드


import cv2
import matplotlib.pyplot as plt

def imgShow(imgList, row_num = 1):
    img_num = len(imgList)

    if img_num == 1:
        fig = plt.figure()
        ax = fig.add_subplot(111)
        ax.imshow(imgList[0])

    else:
        fig, axes = plt.subplots(row_num, round(img_num / row_num))
        ax = axes.ravel()
        for i in range(img_num):
            ax[i].imshow(imgList[i])

    plt.show()

코드 설명



imgShow 함수의 인수에 이미지의 리스트와 표시시키고 싶은 행수(초기치는 1행)를 넣습니다.
imgList는 리스트이므로, 1장 표시시에도 [img]와 리스트의 형태로 넣습니다.

구체적인 예


# 画像1枚を表示させる場合
img = cv2.imread('0_.png')
imgShow([img]) # n=1は省略


# 画像2枚を表示させる場合
img = cv2.imread('0_.png')
img1 = cv2.imread('1_.png')
imgShow([img, img1])


# 画像4枚を表示させる場合
img = cv2.imread('0_.png')
img1 = cv2.imread('1_.png')
img2 = cv2.imread('2_.png')
img3 = cv2.imread('3_.png')
imgShow([img, img1, img2, img3], 2) # 2行で表示させたいのでrow_num=2としている



이번에 처음 투고했습니다. 앞으로도 자신이 사용하고 있어 편리하다고 생각하는 함수를 조금씩 투고하고 싶습니다.

좋은 웹페이지 즐겨찾기