코드 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(컬러)로 변경하겠다는 의미입니다.