일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 딥러닝
- BottomTabBarNavigator
- 플러터앱개발
- 하단탭바알림
- RectQuery
- 면접을위한CS전공지식노트
- 데이터베이스의기본
- Flutter공부
- 앱개발공부
- 화면이동
- 명령형프로그래밍
- 정보보호
- 날짜포맷팅
- 플러터
- tabBarBadge
- 앱개발
- date-fns
- 모두의딥러닝
- Flutter
- 선언형프로그래밍
- Navigation
- ReactNative
- Object~
- 플러터공부
- 알고리즘
- react
- OpenWeatherApi
- 웹해킹
- 플러터앱개발공부
- BottomTabNavigation
Archives
- Today
- Total
기록하기
[OpenCV] OpenCV 2강 Practice 문제 풀어보기 본문
문제 1
원하는 이미지를 불러오고 이미지 창으로 출력 후 q 키를 누르면 창이 꺼질 수 있도록 코드를 작성하면 되는 문제이다.
작성한 코드
import cv2
# 이미지 파일 경로
image_path = '/Users/parkdaeun/Desktop/openCVImage.jpeg'
# 이미지를 읽어옵니다.
image = cv2.imread(image_path)
# 이미지를 화면에 표시합니다.
cv2.imshow('Image', image)
# 키 이벤트를 대기합니다. 'q' 키를 누르면 종료됩니다.
while True:
key = cv2.waitKey(1) # 1밀리초 동안 대기
if key == ord('q'): # 'q' 키를 누르면 종료
break
# 창을 닫습니다.
cv2.destroyAllWindows()
결과물
* 이미지 파일 경로에 이미지가 꼭 있어야한다..! 저는 보기 쉽게 데스크탑에 저장했어요!!
문제 2
첫 번째 문제처럼 이미지 대신 동영상을 출력하면 되는 문제이다.
작성한 코드
import cv2
# 동영상 파일 경로
video_path = 'your_video.mp4'
# 동영상 파일을 엽니다.
cap = cv2.VideoCapture(video_path)
# 동영상을 재생합니다.
while True:
# 동영상에서 프레임을 읽어옵니다.
ret, frame = cap.read()
# 프레임을 읽을 수 없으면 루프 종료
if not ret:
break
# 프레임을 화면에 표시합니다.
cv2.imshow('Video', frame)
# 'q' 키를 누르면 동영상 재생 종료
if cv2.waitKey(25) & 0xFF == ord('q'):
break
# 동영상 재생이 끝나면 동영상 파일과 창을 닫습니다.
cap.release()
cv2.destroyAllWindows()
결과물
* 동영상 파일 경로에 동영상이 꼭 있어야한다..! 저는 보기 쉽게 데스크탑에 저장했어요!!
문제 3
웹캠 불러오고 크기를 가로 640, 세로 480으로 설정한 후 출력하면 되는 문제이다.
작성한 코드
import cv2
# 웹캠을 엽니다. 0은 기본 웹캠을 의미합니다.
cap = cv2.VideoCapture(0)
# 웹캠의 출력 창 크기를 설정합니다.
cap.set(3, 640) # 가로 크기 설정
cap.set(4, 480) # 세로 크기 설정
# 웹캠을 사용하여 영상을 가져와 화면에 표시합니다.
while True:
ret, frame = cap.read() # 웹캠에서 프레임 읽기
cv2.imshow('Webcam', frame) # 웹캠 화면 표시
# 'q' 키를 누르면 루프 종료
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 웹캠 및 창 종료
cap.release()
cv2.destroyAllWindows()
결과물
핸드폰과 연결 되는 웹캠으로 우선 폰에 웹캠을 허용하는지 알림이 왔다. 허용을 누르면 노트북에서 내 핸드폰으로 촬영하는 것을 확인 할 수 있었고 크기도 설정한 그대로 됐다.
문제 4
3번 문제처럼 웹캠을 불러온 후 그레이스케일로 웹캠 창을 출력하는 문제이다.
작성한 코드
import cv2
# 웹캠을 엽니다. 0은 기본 웹캠을 의미합니다.
cap = cv2.VideoCapture(0)
# 웹캠의 출력 창 크기를 설정합니다.
cap.set(3, 640) # 가로 크기 설정
cap.set(4, 480) # 세로 크기 설정
# 웹캠을 사용하여 영상을 가져와 그레이스케일로 변환하고 화면에 표시합니다.
while True:
ret, frame = cap.read() # 웹캠에서 프레임 읽기
# 프레임을 그레이스케일로 변환합니다.
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Grayscale Webcam', gray_frame) # 그레이스케일 화면 표시
# 'q' 키를 누르면 루프 종료
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 웹캠 및 창 종료
cap.release()
cv2.destroyAllWindows()
문제 5
텍스트와 그리기 사진?을 불러와서 직선, 사각형, 원, 텍스트를 그려서 사진으로 출력하는 문제이다.
작성한 코드
import cv2
# 이미지 파일 경로
image_path = '/Users/parkdaeun/Desktop/openCVImage.jpeg'
# 이미지를 불러옵니다.
image = cv2.imread(image_path)
# 직선 그리기 (빨간색 선)
cv2.line(image, (50, 50), (300, 50), (0, 0, 255), 5)
# 사각형 그리기 (녹색 사각형)
cv2.rectangle(image, (50, 100), (300, 250), (0, 255, 0), 3)
# 원 그리기 (파란색 원)
cv2.circle(image, (200, 200), 50, (255, 0, 0), -1)
# 텍스트 쓰기 (흰색 텍스트)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(image, 'OpenCV', (10, 400), font, 3, (255, 255, 255), 2)
# 결과 이미지를 파일로 저장
output_path = 'output_image.jpg'
cv2.imwrite(output_path, image)
# 결과 이미지를 화면에 표시
cv2.imshow('Output Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
결과물
결과물이 이게 맞는지 모르겠지만.. 직선, 사각형, 원 그리고 이미지도 출력했다..!
'AI 수업' 카테고리의 다른 글
opencv 영상 파일 읽는 법, 웹캠을 소스로 읽는 법, 영상을 쓰는 법, 영상을 흑백으로 바꿔서 출력하는 법 (0) | 2023.08.28 |
---|---|
아나콘다3, 아나콘다 가상환경, 가상환경 세팅법, 주피터 노트북 가상환경 커널 연결법, 주피터 노트북 사용법 (0) | 2023.08.21 |
[모두의 딥러닝] 과적합에 대해 알아보자! (0) | 2023.05.08 |
[모두의 딥러닝] K겹 교차 검증 (0) | 2023.04.24 |
[모두의 딥러닝] Train Set, Test Set, 모델 성능 검사하기 (0) | 2023.04.24 |