■ JITHub 개발일지 54일차
□ TIL(Today I Learned) ::
딥러닝_OpenCV 이미지 처리 기초, 도커 Time Attack
- OpenCV : Open source & Computer vision & Machine learning & Software library
- OpenCV Docs (*링크)
- OpenCV pip 명령으로 설치
pip install opencv-python
- OpenCV 임포트 해오기
import cv2
- OpenCV에서 이미지 변환을 위해 사용되는 기본 메서드
1) 영상 파일 불러오기
# 영상 파일 불러오기
cv2.imread(filename, flags=None)
# *flags (cv2.IMREAD_COLOR, cv2.IMREAD_GRAYSCALE, cv2.IMREAD_UNCHANGED)
2) 영상 파일 저장하기
# 영상 파일 저장하기
cv2.imwrite(filename, img, params=None)
3) 새 창 띄우기
# 새 창 띄우기
cv2.namedWindow(winname, flags=None)
# *flags (cv2.WINDOW_NORMAL, cv2.WINDOW_AUTOSIZE)
# WINDOW_NORMAL 영상이 클 경우 창의 크기에 맞게 조절, 조절기능 추가
4) 창 닫기
# 창 닫기
cv2.destroyWindow(winname)
cv2.destroyAllWindows()
5) 창 위치 이동
# 창 위치 이동
cv2.moveWindow(winname, x, y)
6) 창 크기 변경
# 창 크기 변경
cv2.resizeWindow(winname, width, height)
7) 영상 출력하기
# 영상 출력하기
cv2.imshow(winname, mat)
8) 키보드 입력 대기
# 키보드 입력 대기
cv2.waitKey(delay=None)
# 키보드 입력을 기다리면서 영상을 출력(공백 또는 0 : 키보드 입력을 무한정 기다림, 값을 넣을 경우 msec 단위로 대기했다가 사라진다.)
# key = cv2.waitKey
# print(key) # 실행할 경우 화면이 종료되고 반환하는 key값을 확인할 수 있다.(키보드 입력시 입력한 키의 ascii값, 누르지 않았을 경우 -1)
# 일정 키를 눌렀을 때 종료하는 방법 (1)
# while True:
# if cv2.waitKey == 27: # esc키(ASCII 코드 27)를 눌렀을 때에만 종료
# break
# 일정 키를 눌렀을 때 종료하는 방법 (2)
# while True:
# if cv2.waitKey == ord('q'): # 'q'키를 눌렀을 때에만 종료 (ord는 ascii 값으로 변환하는 함수)
# break
9) 컬러 영상 출력
import matplotlib.pyplot as plt
import cv2
# 컬러 영상 출력
imgBGR = cv2.imread('01.jpg') # imread로 불러온 파일은 기본적으로 BGR로 저장된다.
imgRGB = cv2.cvtColor(imgBGR, cv2.COLOR_BGR2RGB) # cvtColor는 이미지의 컬러 속성을 변경한다.
plt.axis('off')
plt.imshow(imgRGB)
plt.show()
10) 그레이스케일 영상 출력
# 그레이스케일 영상 출력
imgGray = cv2.imread('01.jpg', cv2.IMREAD_GRAYSCALE)
plt.axis('off')
plt.imshow(imgGray, cmap='gray')
plt.show()
11) 두 개의 영상을 함께 출력
# 두 개의 영상을 함께 출력
plt.subplot(121), plt.axis('off'), plt.imshow(imgRGB)
plt.subplot(122), plt.axis('off'), plt.imshow(imgGray, cmap='gray')
plt.show()
- Docker Time Attack
# 목표 : docker를 활용해 서비스 배포하기
# 요구사항
1) github에서 timeattack project를 clone 해주세요
- 레포지토리 주소 : https://github.com/sparta-course/221117_timeattack.git
2) 프로젝트를 docker와 docker-compose를 활용해 배포해주세요
3) docker-compose.yml 및 설정 등은 linux/docker 강의자료에 있는 내용을 참고하되, 아래 순서로 배포를 진행하고 각각의 결과물을 저장한 후 제출해주세요
# 문제
1) django의 runserver 명령어를 사용해 배포해주세요
- 사용 이미지 : python:3.10.8
2) postgresql을 연동한 후 배포해주세요
- 사용 이미지 : postgres:14.5
3) nginx를 연동한 후 배포해주세요
- 사용 이미지 : nginx:1.23.2
4) gunicorn을 사용하여 배포해주세요
- Docker는 명령어만 무작정 익히기 보다는 다시 강의를 별도로 들으면서 개념에 대해 이해할 필요가 있다고 느꼈다.
'DataScience > 딥러닝' 카테고리의 다른 글
딥러닝 :: 밑바닥부터 시작하는 딥러닝 Chap2. 퍼셉트론 (0) | 2023.05.02 |
---|---|
딥러닝 :: 밑바닥부터 시작하는 딥러닝 Chap1. 헬로 파이썬 (0) | 2023.05.01 |
딥러닝 :: 11월 셋째주 WIL #12 (0) | 2022.11.18 |
딥러닝 :: OpenCV, Style Transfer를 활용한 이미지 처리_TIL53 (0) | 2022.11.18 |
딥러닝 :: 이미지 처리 구현 _TIL#52 (0) | 2022.11.16 |
댓글