OpenCV
컴퓨터 비전(Compute Vision) 라이브러리. 이미지, 동영상를 가공하는 게 가능하다.
추가
- Tesseract-OCR: 이미지로부터 문자를 인식하고 추출하는 엔진. 영어 외 언어는 그 언어의 훈련 데이터를 받아 사용.
- PyTesseract: Tesseract-OCR를 사용하는 파이썬 라이브러리. Tesseract-OCR 설치 후 사용 가능.
- Mediapipe:얼굴, 포즈, 손 등 감지 라이브러리
- Tensorflow: OpenCV와 연계하여 머신러닝 가능
자동차 번호판 인식의 경우
파이썬
// 이미지는 넘파일 객체로 표현
import cv2
img = cv2.imread(읽을 이미지 파일, 읽기 옵션)
// IMREAD_COLOR: 컬러로 읽기, IMREAD_GRAYSCALE(기본): 흑백으로 읽기, IMREAD_UNCHANGED:컬러로 읽고 불투명도도 읽기
// (행,열,BGR 색상) 넘파이 객체 반환
img.shape // (세로, 가로, 채널 개수) 채널: RGB (+불투명도)
cv2.imshow(열릴 창 제목, img)
cv2.imwrite(적힐 파일 이름, img)
cv2.waitKey(기다릴 시간) // 0이면 OpenCV 창에서 입력 받을 때까지 기다리기. 입력을 반환
if cv2.waitKey() == 10:
if cv2.waitKey() == ord('q'):
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) // 사진 흑백 변환
cv2.namedWindows(열릴 창 제목, 옵션) // cv2.WINDOW_AUTOSIZE(기본): 창을 사진 크기에 맞추기, cv2.WINDOW_NORMAL: 사진을 창 크기에 맞추기. 창 크기 변경 가능
cv2.destoryAllWindows()
cv2.destoryWindow(닫을 창 이름)
cv2.moveWindow(움직일 창 이름, x, y)
cv2.resizeWindow(크기 변경할 창 이름, w, h) // cv2.WINDOW_NORMAL을 사용했을 시
import matplotlib.pyplot as plt
// OpenCV는 BGR, Matplotlib은 RGB. OpenCV로 이미지 읽고 Matplotlib으로 보이려면 변환 필요
// 사진 컬러로 보이기
img = cv2.imread(읽을 이미지 파일, cv2.IMREAD_COLOR) // 컬러로 읽기
plt.axis("off")
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) // 컬러로 보이기
plt.show()
// 사진 흑백으로 보이기
img = cv2.imread(읽을 이미지 파일, cv2.IMREAD_GRAYSCALE)
plt.axis("off")
plt.imshow(img, cmap="gray")
plt.show()
// 사진 2개 나란히 보이기
plt.subplot(121)
plt.axis("off")
plt.imshow(이미지1)
plt.subplot(122)
plt.axis("off")
plt.imshow(이미지2, cmap="gray")
plt.show()
from google.colab import files
uploaded = files.upload() // 구글 코랩에 이미지 업로드
동영상 출력
video = cv2.VideoCapture("파일 이름")
카메라 출력
도형 그리기
영상 icon by Icons8, Shape icon by Icons8, Scissor icon by Icons8, Black Hole icon by Icons8, 넓히다 icon by Icons8, Shadow Of Man icon by Icons8
'자바, 파이썬' 카테고리의 다른 글
[파이썬] 판다스 - 테이블 쉽게 다루기 (0) | 2022.06.23 |
---|---|
[파이썬] 넘파이 - 다차원 배열 쉽게 다루기 (0) | 2022.06.22 |
[자바, 파이썬] 서버 - 클라이언트 사용 (0) | 2022.06.05 |
[자바, 파이썬] 기본 문법 (0) | 2022.06.04 |
[자바, 파이썬] Regex 사용 (0) | 2022.06.03 |