1. 외부 카메라 장착
- 노트북 내장카메라나 웹캠을 연결하면 기본적으로 카메라가 잡힌다.
- 허나, 이러한 환경이 되지 않을 경우는 스마트폰을 웹캠으로 연결하여 사용할 수 있다.
2. 아이폰 사용자를 위한 ivcam webcam
3. 안드로이드 사용자를 위한 Droid Cam
- 데스크탑 버전 Droid Cam 설치
아래 링크를 참고하여 Droid cam 설치를 해보자.
4. 파이썬 이미지 읽어오기 코드 입력
- 파이썬 이미지 읽어오기 코드
# 모듈 불러오기: import 모듈 이름 - 이미지 사용을 위한 opencv,
# 이미지 저장 파일명 사용을 위한 datetime
import cv2
import datetime
video_capture = cv2.VideoCapture(0)
while (True):
grabbed, frame = video_capture.read()
cv2.imshow('Original Video', frame)
key = cv2.waitKey(1);
if key == ord('q'):
break
elif key == ord('s'):
file = datetime.datetime.now().strftime("%Y%m%d_%H%M%S%f") + '.jpg'
cv2.imwrite(file, frame)
print(file, ' saved')
video_capture.release()
cv2.destroyAllWindows()
q를 누르면 프로젝트 현재 디렉토리에 사진이 저장되고 s를 누르면 카메락라 종료된다.
<코드 미션 도전>
카메라 모드에서 g를 누르면 0.3초 간격으로 10장의 연사가 찍히게 코드를 추가하시오.
힌트 1. 파이썬 0.3초 딜레이 구문
import time
time.sleep(0.3);
힌트 2. 10번의 반복 for 구문
for (i) in range(10):
# 반복문 내용
5. 예외처리 try - except 코드
# try : 실행할 코드, except : 예외가 발생하면 실행되는 코드
import cv2
import datetime
try:
video_dev = cv2.VideoCapture(0)
while True:
ret, frame = video_dev.read()
cv2.imshow('Video Screen', frame)
key = cv2.waitKey(1);
if key == ord('q'):
break
elif key == ord('s'):
file = datetime.datetime.now().strftime("%Y%m%d_%H%M%S%f") + '.jpg'
cv2.imwrite(file, frame)
print(file, ' saved')
except KeyboardInterrupt:
print('User interruption')
video_dev.release()
cv2.destroyAllWindows()
이때 KeyboardInterrupt 상황은 Terminal에서 python 코드가 동작했을 때, Terminal에서 ctr + c 를 누름으로서
키보드 인터럽트를 발생시킬 수 있다.
pycharm 좌측 하단에 Terminal을 선택하고
Terminal에서 python wonking.py (현재 파이썬 파일명) 을 입력 해보자.
그리고 터미널에 ctr + c 를 누르며 프로그램이 강제 종료 됨을 볼 수 있다.
6. try - except - else - finally 흐름에 대해 좀더 알아보기.
예제 코드 입력.
try:
file = open('data.txt', 'r')
except FileNotFoundError as e:
print(str(e))
else:
data = file.read()
print(data)
file.close()
finally:
print("프로그램 종료")
코드 실행 : data.txt 파일이 없음으로 아래와 같이 오류 출력
C:\ProgramData\Anaconda3\envs\ai3\python.exe C:/Users/user/Desktop/ai3/wonking.py
[Errno 2] No such file or directory: 'data1.txt'
프로그램 종료
Process finished with exit code 0
프로젝트 디렉토리 폴더에서 data.txt 파일에 임의 내용을 생성한다.
다시 코드를 돌려 파이썬 출력확인.
예외처리 흐름도를 확인해 본다.
끝.
'Python > 파이썬 프로젝트' 카테고리의 다른 글
[모듈 2-12] 파이썬 매크로 기본 함수와 다양한 활용 예제 코드 (0) | 2020.11.26 |
---|---|
[모듈 2-11] python 기반 스네이크 게임 만들기 (1) | 2020.11.13 |
[모듈 2-10] pygame 패키지의 기본 사용법 (0) | 2020.11.12 |
[모듈 2-9] 업다운 게임 만들기 (0) | 2020.11.09 |
[모듈 2-8] 거북이 그림 그리기 파이썬 프로젝트 (0) | 2020.11.09 |