더북(TheBook)

코드 6-4 테스트 데이터셋 이미지 확인 함수

def display_image_grid(images_filepaths, predicted_labels=(), cols=5):
    rows = len(images_filepaths) // cols
    figure, ax = plt.subplots(nrows=rows, ncols=cols, figsize=(12, 6))
    for i, image_filepath in enumerate(images_filepaths):
        image = cv2.imread(image_filepath)
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) ------ ①
        true_label = os.path.normpath(image_filepath).split(os.sep)[-2] ------ ②
        predicted_label = predicted_labels[i] if predicted_labels else true_label ------ ③
        color = "green" if true_label == predicted_label else "red" ------ 예측과 정답(레이블)이 동일하면 초록색으로 표시하고, 그렇지 않다면 빨간색으로 표시
        ax.ravel()[i].imshow(image) ------ 개별 이미지를 출력
        ax.ravel()[i].set_title(predicted_label, color=color) ------ predicted_label을 타이틀로 사용
        ax.ravel()[i].set_axis_off() ------ 이미지의 축 제거
    plt.tight_layout() ------ 이미지의 여백을 조정
    plt.show()

cv2.cvtColor는 이미지의 색상을 변경하기 위해 사용되며 파라미터는 다음과 같습니다.

ⓐ 첫 번째 파라미터: 입력 이미지

ⓑ 두 번째 파라미터: 변환할 이미지의 색상을 지정하는 것으로 BGR(Blue, Green, Red) 채널 이미지를 RGB(컬러)로 변경하겠다는 의미입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.