https://dsaint31.me/mkdocs_site/DIP/cv2/ch00/dip_0_00/#1-2-display-or-check-image-by-opencv
예제 코드
from skimage import data
import cv2
# skimage 라이브러리에서 고양이 테스트 이미지를 불러옴
cat = data.chelsea() # Chelsea 테스트 이미지(고양이)를 로드
cat = cat[...,::-1]
print(f'{cat.shape=}') # 이미지의 크기(shape)를 출력
# ---------------------
# 아래는 트랙바 콜백 함수의 예시 (주석 처리됨)
# def on_trackbar(val):
# pass # 트랙바 콜백 함수의 자리 표시자
# 이름이 지정된 창을 생성 (선택 사항) 및 창 크기 조정 가능
cv2.namedWindow('test_cat', cv2.WINDOW_NORMAL) # WINDOW_NORMAL 플래그는 창 크기 조정을 허용
cv2.imshow('test_cat', cat) # 'test_cat' 창에 고양이 이미지를 표시
# 선택적으로 트랙바 생성 (주석 처리됨)
# 이 트랙바는 이미지와의 상호작용 (예: 밝기 조정)을 가능하게 함
# cv2.createTrackbar("trackbar", "test_cat", 0, 100, on_trackbar)
# ESC 키나 창 닫기 이벤트가 발생할 때까지 창을 유지하는 무한 루프
while True:
k = cv2.waitKey(10) # 10밀리초마다 키 입력 대기
if k & 0xFF == 27: # ESC 키(ASCII 코드 27)가 입력되면 루프 종료
break
if cv2.getWindowProperty('test_cat', cv2.WND_PROP_VISIBLE) < 1: # 창이 닫힌 경우
break
# 루프 종료 후 모든 OpenCV 창을 닫음 (ESC 키나 창 닫기 이벤트 발생 시)
cv2.destroyAllWindows()
주요 요소 설명:
skimage.data.chelsea()
:skimage
라이브러리에서 제공하는 고양이 이미지(테스트 이미지)를 로드cv2.namedWindow
: 지정된 이름의 창을 생성하고,cv2.WINDOW_NORMAL
플래그를 통해 창 크기 조정이 가능하도록 설정.cv2.imshow
: 지정된 창에 이미지를 표시.cv2.waitKey(10)
: 10밀리초마다 키 입력을 대기하며, ESC 키나 창 닫기 이벤트가 발생하면 루프를 종료.cv2.getWindowProperty
: 창이 여전히 열려 있는지 확인하고, 닫힌 경우 루프를 종료.cv2.destroyAllWindows()
: 루프가 끝난 후 모든 OpenCV 창을 닫음.
같이 보면 좋은 자료들
2023.04.07 - [Programming/DIP] - [OpenCV] imshow 창설정 및 종료 처리 (x버튼 처리)
https://dsaint31.me/mkdocs_site/DIP/cv2/ch00/dip_0_00/
'Programming > DIP' 카테고리의 다른 글
[CV] cv2.imread() (4) | 2024.09.16 |
---|---|
[DIP] plt.imshow: matplotlib.pyplot (1) | 2024.09.16 |
[OpenCV] VideoCapture 사용법. (0) | 2024.09.11 |
[OpenCV] API Backend for VideoCapture (0) | 2024.09.11 |
[DIP] Hu Moment (2) | 2024.09.10 |