반응형

OpenCV 10

[Python] openCV : Matching

Descriptor Matcher 객체 찾기템플릿이 있는 경우Block matching한계점 극복 특징점을 이용한 매칭디스크립터 매칭 클래스 구조 디스크립터를 이용한 매칭 매칭 과정디스크립터를 일일이 하나씩 모두 검사하여 가장 가까운 디스크립터를 찾는 방법 FlannBasedMatcher Fast Library for Apporximate Nearest Neighbors. 가장 가까운 이웃의 근사값으로 매칭 수행. 큰 데이터 셋 과 고차원 특성에서 빠른 성능을 보임. 특징점(Keypoint 혹은 feature point) 영상에서 특징이 될 만한 지점 중요한 정보를 가지고 있다고 판단 필요성 객체 검출 및 인식 추적 영상 간 매칭 ▶ 특징 검출기 및 디스크립터 특징 검출기 영상에서 관심 있는 특징점(ke..

Python 2022.11.17

[Python] openCV : Moments

Moments 윤곽선(contour)이나 이미지(array)의 0차 모멘트부터 3차 모멘트까지 계산하는 알고리즘입니다. 공간 모멘트(spatial moments), 중심 모멘트(central moments), 정규화된 중심 모멘트(normalized central moments), 질량 중심(mass center) 등을 계산할 수 있습니다.s Moment¶ In [118]: import cv2 import matplotlib.pyplot as plt import numpy as np src = cv2.imread('./image/momentTest.jpg') gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY) ret, blmage = cv2.threshold(gray, 128..

Python 2022.11.17

[Python] openCV : Morphology

Morpholgy 연산 Morpholgy란 형태 또는 모양에 관한 학문을 의미 영상에서의 Morpholgy는 영상에서 객체의 형태 및 구조에 대해 분석하고 처리하는 기법 수학적 Morpholgy라고도 함 그레이스케일 영상, 이진 영상 모두 적용 가능. 주로 이진 영상에서의 형태 변환에 사용. 구조 요소 이용(STRUCTURING ELEMENT). 다양한 형태를 가짐. 정방형을 주로 사용. 구조요소에 따라 형태가 달라짐. ▶ 침식 객체 영역을 깍아 냄 → 축소 cv2.erode(img, kernel, iterations=1) parameter img : Erosion을 수행할 원본 이미지. kernel : Erosion을 위한 Kernel. iterations : Erosion 반복 횟수. ▶ 팽창 객체 ..

Python 2022.11.17

[Python] openCV : Filltering

▶ 영상 공간 필터링 개념 영상에서 원하는 정보는 통과, 나머지는 걸러내는 작업 대표적인 필터 : 잡음 제거, 부드러운 성분 제거. 필터(마스크, 커널, 윈도우,...)와 합성곱 연산 ▷ 합성곱 연산 ▶ 경계선 처리 현재는 하이퍼파라미터로 BORDER_CONSTANT로 적용된다. BlurFilter 영상을 부드럽게 하는 필터 cv2.boxFilter, cv2.blur cv2.GaussianBlur cv2.BILATERALFILTER cv2.medianBlur ▶ GaussianBlur ▶ bilateralFilter 가우시안 필터를 양방향으로 두번 실행한다. 가우시안 잡음에 효과적이다. 엣지가 아닌 부분에서만 블러링을 한다. ▶ Edge-preserving noise removal filter ▶ Med..

Python 2022.11.17

[Python] openCV : Histogram

Histogram ▶ 개념 영상의 픽셀 값 분포를 그래프 형태로 표현 그레이스케일 영상 : 그레이 스케일 값의 픽셀 개수를 히스토그램으로 표현 컬러 영상 : 색상 성분 조합의 픽셀 개수를 히스토 그램으로 표현 ▶ 히스토그램 계산 4x4 크기, 0~7 밝기값(gray scale) 각 밝기 값의 대한 히스토그램간단한 히스토그램 예제 ▶ 영상 분석 ▶ 비교함수 cv2.CMP_EQ src1과 src2의 요소가 같음 cv2.CMP_NE src1과 src2의 요소가 같지 않음 cv2.CMP_GT src1과 src2의 요소가 큼 cv2.CMP_GE src1과 src2의 요소가 크거나 같음 cv2.CMP_LT src1과 src2의 요소가 작음 cv2.CMP_LE src1과 src2의 요소가 작거나 같음 ▶ 히스토그램 ..

Python 2022.11.10

[Python] openCV : normalization

임계값 영상 자동 임계값 계산 cv2.THRESH_TRIANGLE Triangle 알고리즘을 이용한 자동 임계값 결정 cv2.THRESH_OTSU Otsu알고리즘을 이용한 자동 임계값 결정 cv2.ADAPTIVE_THRESH_MEAN_C cv2.ADAPTIVE_THRESH_GAUSSIAN_C 적응형 이진화 cv2.THRESH_BINARY cv2.THRESH_BINARY_INV cv2.THRESH_TRUNC cv2.THRESH_TOZERO cv2.THRESH_TOZERO_INV ▶ 임계값 계산 그레이 스케일 영상에서 임계값을 이용하여 특정 영역 추출 임계값은 숫자를 직접 지정 하거나 자동 계산 minMaxLoc(src)¶ 행렬의 최솟값, 최댓값을 찾는 minMaxLoc() 함수입니다. 이 함수는 최솟값, ..

Python 2022.11.10

[Python] openCV : image access

fourcc 비디오 코덱 문자 cv2.VideoWriter_fourcc(*'PIM1') : MPEG-1 cv2.VideoWriter_fourcc(*'MJPG'): Motion-JPEG cv2.VideoWriter_fourcc(*/DIVX’) : DIVX 4.0이후 버전 cv2.VideoWriter_fourcc(*'XVID') : XVID, MPEG-4 cv2.VideoWriter_fourcc(*'MPEG') : MPEG cv2.VideoWriter_fourcc(*'X264') : H.264/AVC 문제 이해 주어진 문제에 대한 직관적이고 철저한 이해 중요 ▶ 합리적 제약 조건 수립 필요 얼굴 인식기 크기의 일정한 정면 얼굴 VS 자연 영상 속의 얼굴 전자는 제작이 쉽지만 응용 분야의 한정되고 보안 장치에..

Python 2022.11.10

[Python] openCV : Event

▶ 그래픽 출력 및 이벤트 처리 openCV는 다양한 도형 그리는 함수를 제공한다. line, rectangle, circle, elipse, polygon, text openCV로 윈도우를 생성하고 윈도우 이벤트 발생 시 처리 할 수 있는 기능 제공 주로 사용하는 이벤트는 키보드 이벤트, 마우스 이벤트 트랙바 이벤트 등 이벤트 처리¶ 키보드 이벤트 처리¶ waitKey()¶ OpenCV에서 키 입력을 확인하기 위한 함수 In [ ]: import cv2 import numpy as np width, height = 512, 512 x, y, R = 256, 256, 50 left, right, down, up = 2,0,1,3 direction = down # 윈도우 기준 방향키 전환, 맥 적용 안됨...

Python 2022.11.10

[Python] openCV : Writer

그리기¶ 선 그리기¶ white 배경 생성 및 pt1-pt2(Red), pt1-pt3(Blue)를 잇는 선 그리기 cv2.line(배경, 좌표1, 좌표2, BGR value, line width) 으로 선 생성 가능 In [ ]: import numpy as np img = np.zeros(shape=(512, 512, 3), dtype=np.uint8) + 255 pt1 = 0,0 pt2 = 500, 0 pt3 = 0, 500 cv2.line(img, pt1, pt2, (255,0,0), 5) cv2.line(img, pt1, pt3, (0,0,255), 5) cv2.imshow('img', img) cv2.waitKey() cv2.destroyAllWindows() 사각형 그리기¶ white 배경 생..

Python 2022.11.10

[Python] openCV : Image display

openCV¶ Install openCV¶ In [1]: !pip install opencv_python Collecting opencv_python Downloading opencv_python-4.6.0.66-cp36-abi3-macosx_10_15_x86_64.whl (46.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.4/46.4 MB 28.8 MB/s eta 0:00:0000:0100:01 Requirement already satisfied: numpy>=1.19.3 in ./opt/anaconda3/lib/python3.9/site-packages (from opencv_python) (1.21.5) Installing collected packag..

Python 2022.11.10
반응형