Program/OPEN_CV

[Open CV] OpenCV-Python 시작하기 _ 실전코딩 ( 이미지 슬라이드쇼 )

사막여유 2022. 4. 24. 21:20
728x90

 

 - 특정 폴더에 있는 이미지 파일목록읽기

 - 이미지를 전체화면으로 출력하기

 - 일정시간동안 이미지를 화면에 출력하고, 다음이미지로 교체하기 ( 무한루프 )

 

일단 특정 폴더에 있는 이미지파일 목록을 읽을 수 있는 함수는 2가지가 있는데

os.listdir() 또는 glob.glob() 함수를사용하면 읽을 수 있다.

 

일단 os나 glob을 import해주고

 

os를 import했을때는 file_list라는 변수에 os.listdir이라는 이미지 리스트 로드함수를 사용하게 되는데

file_list = os.listdir('.\\images')라는 폴더를 지정해주면 현재 프로젝트 폴더내에 있는 images라는 폴더에 접근하고

img_files = [file for file in file_list if file.endswith('.jpg')]라는 함수를 사용하여 .jpg로 끝나는 파일들을 로드하여 

img_files 이라는 변수에 문자열로 반환해준다.

 

glob을 import하였을때는

img_files 이라는 변수에 glob.glob함수를 사용하여 해당 폴더명과 파일확장자명을 입력해주면Ex) .\\images\\*.jpg .jpg로 끝나는 모든 파일들을 리스트업하여 문자열로 반환한다.

 

 * 예외적으로 Window 창을 전체화면으로 볼 수 있게 하는 함수는

 * setWindowProperty("window창이름",cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN) 로 사용할 수 있다.

 * 이는 Window창을 Window_Normal로 생성해야만 실행되는 함수이다.

 

 

각 문자열로 반환된 리스트 파일을 이용하여 이미지 슬라이드쇼를 만든 소스코드이다.

 

while문을 이용하여 이미지를 전체화면으로 show해주는 소스인데

처음 imread함수 호출 이후 이미지가 제대로 호출되었는지 확인해준 이후에 

영상을 show해주는데

1초동안 아무런 키도 눌리지 않으면 idx를 1씩 올려서 다음 이미지를 show하고 마지막으로 

cnt와 idx가 같아지면 다시 idx를 0으로 만들어서

키보드에 입력이 들어오지 않으면 무한으로 돌도록 만들어진 소스 코드이다.

 

여기서 img_files 라는 변수 ( 리스트 변수 ) 의 개수를 세주는 기능은

len이라는 함수를 사용하여 리스트 변수의 개수를 세줄 수 있다.

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/3L3avNW

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

728x90