OpenCV
[OpenCV with Python] Filtering : 블러링(blurring) - 평균값 필터
평균 값 필터(Mean Filter) 평균 값 필터(Mean filter)는 영상의 특정 좌표 값을 주변 픽셀 값들의 산술 평균으로 설정하는 방법이다. 픽셀들 간의 그레이스케일 값 변화가 줄어들어 날카로운 에지가 무뎌지고, 영상에 있는 잡음의 영향이 사라지는 효과가 있다. 📍 실제 이미지에 평균 값 필터를 적용한 결과 마스크 크기가 커질수록 평균 값 필터 결과가 더욱 부드러워 지지만 더 많은 연산량이 필요하게 된다. ✔︎ 영상에 평균값 필터링 적용하기 - cv2.blur import cv2 dst = cv2.blur(src, ksize, dst=None, anchor=None, borderType=None) src : 입력 영상 ksize : 평균값 필터 크기. (width, height) 형태의 튜플...
[OpenCV with Python] Filtering : 필터링이란?
영상 필터링(Image Filtering)은 영상에서 필요한 정보만 통과시키고 원치 않는 정보는 걸러내는 작업이다. 필터링 종류 필터링 작동 방법은 크게 두 가지로 나눌 수 있다. (1) 주파수 공간에서의 필터링 (Frequency domain filtering) 주파수 값을 이용하는 필터링 방법이다. 영상에서 주파수 값을 추출하는 FFT를 거쳐서 추출한 값과 설정한 관심영역을 곱하는 IFFT를 통해 주파수 필터링이 작용한다. (2) 공간적 필터링(Spatial domain filtering) 영상의 픽셀 값을 직접 이용하는 필터링 방법이다. 대상 좌표의 픽셀 값과 주변 픽셀 값을 동시에 사용한다. 주로 마스크연산을 이용한다. (마스크 = 커널(kernel) = 윈도우(window) = 템플릿(templ..
[OpenCV with Python] 영상처리 : 히스토그램 역투영
히스토그램 역투영(Histogram backprojection) - cv2.calcBackProject 영상의 각 픽셀이 주어진 히스토그램 모델에 얼마나 일치하는지를 검사하는 방법 임의의 색상 영역을 검출할 때 효과적이다. cv2.calcBackProject(images, channels, hist, ranges, scale, dst=None) images : 입력 영상 리스트 channels : 역투영 계산에 사용할 채널 번호 리스트 hist : 입력 히스토그램 (numpy.ndarray) ranges : 히스토그램 각 차원의 최솟값과 최댓값으로 구성된 리스트 scale : 출력 역투영 행렬에 추가적으로 곱할 값 dst : 출력 역투영 영상. 입력 영상과 동일 크기, cv2.CV_8U 💬 실습 1. 들..
[OpenCV with Python]영상처리 : 특정 색상 영역 추출
특정 색상 영역 추출 특정 색상 영역 추출할 때 HSV 색 공간을 이용하는게 좋다. RGB는 어두운 사진에서 색상 영역 추출하면 잘 되지 않는다. HSV는 H,S로 색상을 조절하고 V는 밝기를 조절하므로 H와 S 범위만 지정해 준다면 어두운 영상에서도 색상 영역 추출을 할 수 있다. RGB 색 공간에서 녹색 영역 추출하기 명도를 낮췄을 경우 명도를 낮췄을 경우 녹색이 제대로 잡히지 않은 것을 볼 수 있다. import sys import numpy as np import cv2 src = cv2.imread('candies.png') # 원본 이미지 src2 = cv2.imread('candies2.png') # 명도가 낮은 이미지 if src is None: print('Image load failed..