8주차-OpenCV(1)

Chan·2021년 5월 31일
0

hancom

목록 보기
15/45

용어 정리

컴퓨터그래픽스(CG) - 디지털정보를 입력해서 영상을 출력하는 기술
컴퓨터비전(CV) - 영상을 입력해서 디지털정보를 출력하는 기술
화소(pixel) - 디스플레이를 나타내는 단위 요소(점)
해상도(resolution) - 디스플레이 가로x세로에 들어있는 화소 수 (1920x1080=2,073,600개)

  • 해상도, 표본화와 양자화 단계 - 디지털영상은 표본화와 양자화 단계를 거쳐서 일정한 수의 화소의 집합 MxN 크기로 나타낼 수 있다.

OpenCV

  • Open Source Computer Vision Library
  • 영상처리와 컴퓨터 비전 관련 오픈 소스 라이브러리
  • 2500개 넘는 알고리즘으로 구성
  • c, c++, 파이썬, 자바, 매트랩 인터페이스 제공
  • 윈도우, 리눅스, 안드로이드, 맥OS 등 다양한 운영체제 지원

파이썬 복습

  • 기존 환경 세팅에서 opencv, numpy 라이브러리 추가
    numpy: 영상은 2차원 데이터, 넘파이는 다차원 데이터를 처리해주는 라이브러리

  • 자료구조

상수: 변하지않는 수
변수: 변하는 수
리터럴: 상수,변수에 들어가는 값 자체 (숫자,문자,논리값,특수,컬렉션(시퀀스타입))

컬렉션: 리스트, 튜플, 딕셔너리, 세트
리스트 - [], 인덱스 추가, 삭제, 값 변경 가능
튜플 - (), 인덱스 변경 불가
딕셔너리 - {}, 인덱스마다 키가 달려있음
세트 - {}, 인덱스 중복 없앰

  • 연산자

연산자 우선순위 있음
슬라이스 연산자 - 열거형 객체 [시작인덱스 : 종료인덱스 : 인덱스증가폭]

a= [0,1,2,3,4,5,6,7,8,9]
print('a = ', a)
print('a[:2] ->', a[:2]) # 0 1
print('a[4:-1] ->', a[4:-1]) # 4 5 6 7 8
print('a[2::2] ->', a[2::2]) # 2 4 6 8
print('a[::-1] ->', a[::-1]) # 9 8 7 6 5 4 3 2 1 0
print('a[1::-1] ->', a[1::-1]) # 1 0
print('a[7:1:-2] ->', a[7:1:-2]) # 7 5 3
print('a[:-4:-1] ->', a[:-4:-1]) # 9 8 7
  • 기본명령문

조건문 (if, elif, else)
반복문 (for in, while)

  • 함수

모듈 - 함수,변수,클래스를 모아놓은 불러오기용 파일, import해서 사용가능
패키지 - 도트(.)를 사용하여 모듈을 계층적(디렉터리 구조)으로 관리할 수 있게 해줌
내장함수(자주쓰는건 암기)

  • 넘파이 패키지

기본자료형 - numpy.ndarray 객체 - 입력인수, 반환객체로 사용
arg 모르겠으면 ctrl+b 눌러서 예제 확인

OpenCV

  1. 윈도우 제어(이동, 크기변경)

  2. 이벤트 처리(키, 마우스, 트랙바)

  3. 그리기(직선, 사각형, 원, 타원, 호, 텍스트)
    roi = region of interest (관심영역)

  4. 영상파일 처리

  5. 비디오파일 처리

profile
Backend Web Developer

0개의 댓글

Powered by GraphCDN, the GraphQL CDN