반응형

Python 266

[파이썬 OpenCV] 영상에 블러링(평균값 필터) 적용하기 - cv2.blur

황선규 박사님의 , OpenCV 강의를 공부한 내용을 정리했습니다. 블러링(평균값 필터) 적용하기 - cv2.blur 평균 값 필터(Mean filter)는 영상의 특정 좌표 값을 주변 픽셀 값들의 산술 평균으로 설정하는 방법입니다. 픽셀들 간의 그레이스케일 값 변화가 줄어들어 날카로운 에지가 무뎌지고, 영상에 있는 잡음의 영향이 사라지는 효과가 있습니다. 마스크 크기가 커질수록 평균 값 필터 결과가 더욱 부드러워 집니다. 하지만 더 많은 연산량이 필요하게 됩니다. 실제 영상에 평균 값 필터를 적용한 결과 1. OpenCV로 영상에 평균값 필터링 적용하기 - cv2.blur OpenCV에서는 cv2.blur 함수로 블러링기능을 제공하고 있습니다. [함수 설명] cv2.blur(src, ksize, dst..

[파이썬 OpenCV] 영상에 필터링 적용하기 - cv2.filter2D

황선규 박사님의 , OpenCV 강의를 공부한 내용을 정리했습니다. 영상에 필터링 적용하기 영상의 필터링(image filtering)은 영상에서 필요한 정보만 통과시키고 원치 않는 정보는 걸러내느 작업이빈다. 1. 필터링 종류 필터링 작동 방법은 크게 두 가지로 나눌 수 있습니다. (1) 주파수 공간에서의 필터링 (Frequency domain filtering) 주파수 값을 이용하는 필터링 방법입니다. 영상에서 주파수 값을 추출하는 FFT를 거쳐서 추출한 값과 설정한 관심영역을 곱하는 IFFT를 통해 주파수 필터링이 작용합니다. (2) 공간적 필터링(Spatial domain filtering) 영상의 픽셀 값을 직접 이용하는 필터링 방법입니다. 대상 좌표의 픽셀 값과 주변 픽셀 값을 동시에 사용합니..

[파이썬 OpenCV] 파이썬에서 크로마 키 합성하기 - cv2.inRange(), cv2.copyTo() 활용

황선규 박사님의 , OpenCV 강의를 공부한 내용을 정리했습니다. 크로마 키 합성하기 크로마 키(Chroma key) 합성이란 녹색 또는 파란색 배경에서 찰영한 영상에 다른 배경 영상을 합성하는 기술입니다. 뉴스, 유튜브, 트위치 방송에서 많이 이용되는 기법입니다. 파이썬 OpenCV 라이브러리를 활용해서 크로마 키 합성을 해보겠습니다. 준비물은 녹색 배경의 영상, 합성할 배경 영상이 필요합니다. 1. 녹색 스크린 영역 추출하기 - cv2.inRange 크로마 키 영상을 BGR -> HSV 색 공간으로 변환합니다. cv2.inRange() 함수에 대한 설명은 여기에서 확인할 수 있습니다. cv2.inRange() 함수를 사용하여 50 < H < 80, 150 < S < 255, 0 < V < 255 범..

[파이썬 OpenCV] 히스토그램 역투영을 이용한 살색 영역 검출하기 - cv2.calcBackProject, cv2.calcHist

황선규 박사님의 을 공부한 내용을 정리했습니다. 히스토그램 역투영을 이용한 살색 영역 검출하기 히스토그램 역투영 하는 방법은 에서 확인할 수 있습니다. 히스토그램 역투영을 이용해서 살색 영역을 검출해 보겠습니다. 1. 기존 영상으로부터 살색에 대한 컬러 히스토그램을 미리 계산하기 마스크 영상은 포토샵으로 제작할 수 있습니다. # CrCb 살색 히스토그램 구하기 ref = cv2.imread('kids1.png', cv2.IMREAD_COLOR) mask = cv2.imread('kids1_mask.bmp', cv2.IMREAD_GRAYSCALE) if ref is None or mask is None: print('Image load failed!') sys.exit() # BGR -> YCrCb 전환 ..

[파이썬 OpenCV] 히스토그램 역투영 - cv2.calcBackProject, cv2.selectROI

황선규 박사님의 을 공부한 내용을 정리했습니다.. 히스토그램 역투영(Histogram backprojection) 히스토그램 역투영은 영상의 각 픽셀이 주어진 히스토그램 모델에 얼마나 일치하는지를 검사하는 방법입니다. 임의의 색상 영역을 검출할 때 효과적입니다. YCrCb 색 공간을 이용합니다. (밝기에 상관없이 색을 검출하기 위함입니다.) HSV는 H 값을 이용해서 색상을 표현하기 좋을 때 이용합니다. ROI로 색상 영역을 선택한 뒤 히스토그램을 만듭니다. 만든 히스토그램으로 히스토그램 역투영을 합니다. 히스토그램 역투영을 마스크로 이용하여 기존 영상과 마스크 연산을 통해 원하는 색을 검출할 수 있습니다. 1. 히스토그램 역투영 함수 - cv2.calcBackProjection OpenCV에서 제공하는..

[파이썬 OpenCV] 트랙바를 이용한 특정 색상 영역 추출 - cv2.inRange, cv2.createTrackbar

황선규 박사님의 OpenCV 강의를 공부하면서 정리하였습니다. 황선규 박사님의 'OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝'를 바탕으로 제작하였습니다. 트랙바를 이용한 특정 색상 영역 추출 HSV 색 공간의 H의 범위를 트랙바로 조정하여 원하는 색 검출을 용이하게 할 수 있습니다. 트랙바 만드는 법과 트랙바 생성 함수는 여기에서 확인할 수 있습니다. 색상 영역 검출 하는 방법은 여기에서 확인할 수 있습니다. [예제 코드] src = cv2.imread('candies.png') if src is None: print('Image load failed!') sys.exit() src_hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) # BGR -> HSV 로 변경(색상 검..

[파이썬 OpenCV] 특정 색상 영역 추출 - cv2.inRange

황선규 박사님의 OpenCV 강의를 공부하면서 정리하였습니다. 황선규 박사님의 'OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝'를 바탕으로 제작하였습니다. 특정 색상 영역 추출 특정 색상 영역 추출할 때 HSV 색 공간을 이용하는게 좋습니다. RGB는 어두운 사진에서 색상 영역 추출하면 잘 되지 않습니다. HSV는 H,S로 색상을 조절하고 V는 밝기를 조절하므로 H와 S 범위만 지정해 준다면 어두운 영상에서도 색상 영역 추출을 할 수 있습니다. 따라서 BGR 영상을 HSV로 전환하고 색상 영역 추출을 해야 합니다. 1. 특정 범위 안에 있는 행렬 원소 검출 - cv2.inRange() OpenCV에서 제공하는 cv2.inRange 함수를 사용하여 특정 생삭 영역을 추출할 수 있습니다. [함수 설명] ..

반응형