컴퓨터비전 3

[컴퓨터 비전] 4 영역 연산

화소 입장에서 바라본 영상 처리 연산이란 화소가 새로운 값을 받는 과정입니다. 새로운 값을 어디에서 받느냐에 따라 점 연산, 영역 연산, 기하 연산의 세 종류로 구분할 수 있습니다. 점 연산은 자기 자신으로부터 값을 받고, 영역 연산은 이웃 화소의 값을 보고 새로운 값을 결정합니다. 기하 연산에서는 기하학적 변환에 따라 다른 곳으로부터 값을 받습니다. 컨볼루션(convolution) 컨볼루션은 입력 영상의 각 화소에 필터를 적용해 곱의 합을 구하는 연산입니다. 필터를 입력 영상의 1, 2, 3, ..., 8 위치에 차례로 씌우고 곱의 합을 구해 출력 영상에 씌웁니다. 출력 영상에 씌우는 이유는 - 연상 도중 본래 화소 값이 바뀌면 다음 화소 처리를 할 때 오류가 발생하기 때문입니다. (a) 그림은 위치 ..

[컴퓨터 비전] 1 영상의 형태

영상 획득과 표현 우리가 일상에서 직접 영상이나 이미지를 얻을려면 카메라를 사용할 수 있습니다. 카메라는 물체에서 반사된 빛을 작은 구멍에 통과시켜, 뒷면에 있는 영상 평면(image plane)에 맺힙니다. 영상 평면은 생물의 눈일 경우 망막, 필름 카메라일 경우 필름, 디지털 카메라의 경우 CCD 센서가 됩니다. 아날로그(빛) 신호를 받은 CCD 센서는 디지털로 변환하는 과정에서 샘플링(sampling)과 양자화(quanizaion)을 수행합니다. 샘플링은 2차원 영상 공간을 가로 N개 세로 방향으로 M개 구간으로 나눕니다. 이렇게 형성된 한 점을 화소(pixel) 라 하고, M x N을 영상의 크기, 또는 해상도(resolution) 라 합니다. 양자화는 화소의 명암을 L개 구간으로 나눕니다. 보통..

[OpenCV] OpenCV 시작 - 기본

[컴퓨터 비전과 딥러닝 - 오일석] 책 내용 입니다. OpenCV는 인텔 사에서 만들어 공개한 컴퓨터 비전 라이브러리입니다. 이를 구성하는 함수와 클래스는 C와 C++ 언어로 개발했으며, 전체 코드는 180만 라인 이상입니다. 데스크톱 운영체제는 윈도우, 리눅스, macOS를 지원하며, 모바일 운영체제는 안드로이드와 IOS가 있습니다. 처음 해볼 OpenCV 프로그래밍은 폴더에 저장되어 있는 영상 파일을 읽고 화면에 나타내 보겠습니다. import cv2 as cv # opcencv 라이브러리 import sys # 파이썬 시스템 변수 설정 라이브러리 img = cv.imread('이미지.jpg') # 이미지 변수 생성 if img is None: sys.exit('파일을 찾을 수 없습니다') # 파일 ..

Python/OpenCV 2023.04.01