1. OpenCV (모듈)
OpenCV(Open Source Computer Vision Library)는 실시간 컴퓨터 비전 및 이미지 처리를 위한 오픈소스 라이브러리입니다. Python에서 cv2 모듈을 통해 사용할 수 있으며, 이미지 및 영상의 읽기, 변환, 필터링, 객체 검출, 특징 추출 등의 다양한 기능을 제공합니다. 또한, NumPy와의 호환성이 좋아 배열 연산을 활용한 고속 이미지 처리가 가능하며, 머신러닝 및 딥러닝 모델과도 쉽게 연동할 수 있습니다. 주로 얼굴 인식, 객체 추적, 증강 현실(AR), 자율 주행 등의 분야에서 널리 활용됩니다.
즉 이걸 외워놓으면 좀 영상처리는 편할 수 있다.
▶ Google COLAB환경 실행방법
!pip install opencv-python
!pip install opencv-contrib-python
구글 코랩에는 opencv가 없기때문에 설치를 하고
확장기능까지 설치했다.
import cv2
import numpy as np
# OpenCV 버전 확인
print(cv2.__version__)
버전은 4.11.0으로 진행한다는 점 참고하시어 글을 읽으면 좋을것같습니다.
▶vscode 실행 방법
python이 겹칠수도있기때문에 내가 진행할 프로젝트만의 가상환경을 만들어주는것이 좋다.
VSCODE의 터미널창을 보면 파워쉘(powershell)이 되어있는데 파워쉘은 명령어가 잘 먹히지 않을수도 있기때문에
Command Prompt (cmd)를 클릭해서 만들어준다. 기존에 있던 파워쉘은 지워도됨!
▶가상환경 만들기
#윈도우
python -m venv venv
#맥
python3 -m venv venv
터미널에 직접 입력하면 된다. 그러면 하단의 오른쪽 처럼 .venv가 나오게 된다
venv는 가상환경을 말함!!
cd venv/Scripts/
activate
라고 치면 가상환경이 잘 만들어집니다.
이렇게 보면 (.venv)가 나오면 가상환경에 들어와있다는것입니다~.
여기서 주의해야할 이름은 opencv-python이랑 cv2 이 두개의 이름이 다릅니다.
나중에 설치할때 !pip install cv2로 설치하면 안된다. 에러가 뜨는게아니라 cv2 모듈이 있어서 또 다르게 설치가 된다...ㅋㅋ
2. 영상
영상(image 또는 video)은 디지털 형태로 표현된 시각적 정보로, 픽셀 단위로 구성된 2차원 또는 3차원 데이터입니다. 정지된 이미지는 일반적으로 그레이스케일(흑백) 또는 RGB(컬러) 채널을 가지며, 연속된 이미지 프레임의 집합인 동영상은 시간에 따른 영상 데이터로 볼 수 있습니다.
그레이스케일 영상 (★ ★ ★ ★ ★)
그레이스케일(Grayscale) 영상은 흑백 영상으로, 각 픽셀이 밝기 정보만 포함하는 1채널 영상입니다.
일반적으로 0(검은색)에서 255(흰색) 사이의 값으로 표현되며, 중간값일수록 회색 톤을 가집니다.
(이거 헷갈려서 생각한게 카메라 초점 맞추고 주욱 내리면 화면 까매지고, 위로올리면 엄청 밝아지는거 생각하면 됨)
RGB(컬러) 영상에서 색상 정보를 제거하고 밝기 정보만 남기는 방식으로 변환할 수도 있습니다.
주로 엣지 검출, 객체 인식, 얼굴 탐지 등에서 연산량을 줄이고 효율적인 처리를 위해 사용됩니다.
일단 먼저 그레이스케일로 변경한 후 객체를 탐지하는것이 연산량이 더 적기때문에, 그레이스케일을 먼저 하기에
필수OF필수다.
트루컬러 영상
트루컬러(True Color) 영상은 RGB(Red, Green, Blue) 3채널을 사용하여 색상을 표현하는 컬러 영상입니다. 각 픽셀은 세 가지 색상의 조합으로 표현되며, 일반적으로 각 채널이 0~255 범위의 값을 가집니다. 즉, 하나의 픽셀은 (R, G, B) 값의 조합으로 이루어져 있어 총 약 1677만(256³) 가지의 색상을 표현할 수 있습니다. 트루컬러 영상은 현실적인 색상을 유지하기 때문에 사진, 영상 스트
리밍, AR/VR, 자율주행 등의 다양한 응용 분야에서 사용됩니다.
'AI > 컴퓨터 비전' 카테고리의 다른 글
OpenCV - getRotationMatrix2D| getPerspectiveTransform (0) | 2025.03.17 |
---|---|
OpenCV 정리_Grayscale, Color, Matplotlib, NumPy 활용법 (0) | 2025.03.12 |
computer Vision_Classification (0) | 2025.03.10 |
VGG19를 이용한 표면 균열(crack) 감지해보기 | 2개분류 (0) | 2025.03.09 |
Computer Vision_개념을 다시한번 잡기 위한 글 (1) | 2025.03.06 |