본문 바로가기

영상처리4

[Python] OpenCV 윤곽선 검출 필터 (필터 - 차분필터, filter2D, 로버츠 필터, 프리위트 필터, 소벨 필터, 라플라시안, 캐니) 1. 이미지 필터링 Kernel 이라고 하는 행렬을 정의하고 커널을 이미지 위에서 이동시켜가면서 커널과 이미지 영역을 연산. 그 결과값으로 새로운 이미지를 만드는 것. OpenCV 에서는 cv2.filter2D 를 이용하면 이미지와 kernel을 convolution(합성곱)하여 이미지를 필터링 할 수 있음. 아래와 같이 진행됨. 2. cv2.filter2D 모든 필터링 커널 행렬의 원소의 합은 1이 되도록 만들어져야해서 5x5 행렬이라면 (5,5) 형태로 선언후에 25로 나눠주는 작업을 해야함. 3. 로버츠 필터 대각선 방향으로 +1 과 -1을 배치시켜 사선 경계 검출 효과를 높임. 노이즈에 민감함. 로버츠 필터를 구현할때는 아래와 같이 함수를 만들어서 사용할 수도 있고 filter2D를 이용할 수도 .. 2021. 12. 8.
[Python]OpenCV Contour 처리 1 0. 컨투어란? 특정 영역의 경계를 따라 같은 픽셀값을 갖는 지점을 연결하는 선 외곽선을 그리는 함수 입력 이미지는 Gray Scale Threshold 전처리 과정이 필요함. (배경은 검정, 오브젝트는 흰색) 1. Contour 찾기 cv2.findContours(image, mode, method) Python: contours, hierarchy = cv2.findContours(image,mode,method) - image 검은색과 흰색으로만 구성되는 바이너리 이미지여야함. (이진화) - mode 1) RETR_EXTERNAL: 바깥쪽 Line만 찾기 2) RETR_LIST: 모든 Line을 찾지만, Hierarchy 구성 X 3) RETR_TREE: 모든 Line을 찾으며, 모든 Hierarc.. 2021. 12. 8.
[Python] OpenCV 카메라 & 영상 읽어오기 이번에는 캠을 이용해서 영상을 저장하는 것을 해보았다. 영상을 저장하고 불러와서 재생시키는것! 1. cv2.VideoCapture(0) 비디오 객체 생성 인자 : 어떤 카메라를 사용할건지 ( 카메라가 2개라면 첫번째 웹캠은 0, 두번째 웹캠은 1로 지정가능 ) 또는 비디오 파일 이름을 지정 언제 사용하는지? - 카메라에서 영상을 가져올때 - 동영상 파일을 읽어올때 - youtube 영상을 가져올대 - web 영상을 받아올때 2. VideoCapture.Set 비디오 프레임 가로 세로 길이 지정 cap.set(3, 1280) -> 3이 가로라는 의미, 1280 은 가로 길이 cap.set(4,720) -> 4가 세로라는 의미, 720은 세로길이 3. VideoCaputre.read() 재생되는 비디오를 한.. 2021. 12. 4.
[Python] Open CV 시작해보기 Python3을 주피터 노트북을 이용해서 OpenCV를 사용한 이미지 처리를 해볼것이다. CoLab이 주피터 노브북을 기반으로 동작하기때문에 이미지는 matplotlib 라이브러리도 함께 사용했다. 1. opencv 라이브러리 설치 터미널에서 아나콘다 파이썬 활성화 시키기! 명령어 : conda activate py38(각자 지정한 파이썬이름) 2. 활성화 한 후에 아래의 명령어로 opencv 라이브러리 설치 pip install opencv-python pip install opencv-contrib-python 3. 주피터 노트북에서 opencv 사용해보기 import cv2 2021. 12. 2.