본문 바로가기

openCV21

[openCV] 선 검출 허프 변환 y = ax + b -> b = -ax + y (a : 기울기 b: y절편) 즉, 한 점이 가질 수 있는 모든 직선을 b와 m에 대한 평면에서 하나의 직선으로 표현하는 것 에지 영상에서 가능한 (a,b)의 조합을 구한다. 각 에지 픽셀을 통과하는 직선을 모두 찾은 다음 (a,b)의 조합이 여러번 활용될 경우 그것이 영상에 존재하는 선의 방정식일 확률이 높다. 즉, 에지 픽셀을 통과하는 선들을 찾은 후 겹치는 점이 영상에 존재하는 선이다. y = ax + b 라는 식을 활용할 경우 직선이 수직 방향에 가까운 경우 a가 무한대로 수렴하는 문제점 -> 𝜌𝜃 값을 사용 𝜌 : 원점에서 직선에 수선을 내렸을때 수선의 길이 𝜃 : 𝜌와 x축이 이루는 각도 알고리즘 1. 이진 영상으로 변환 2. subdi.. 2020. 1. 29.
[openCV] 에지 검출 Edge pixels : 영상의 픽셀 주변으로 밝기 값이 급격히 변하는 부분, 픽셀 Edges : Edge pixels들의 연속된 집합 에지 검출 방법 1. 1차원 함수에 대해 1차 미분 수행하여 에지 검출. 따라서 1차 미분을 했을 때 크기가 0이 아닌 부분을 활용하면 에지 검출이 가능하다. 2. 2차원 영상의 경우, image gradient 사용 gradient 란 주어진 데이터가 2차원 데이터라면 그 2차원 데이터 f의 gradient는 x축 방향으로 편미분 하고 , y축 방향으로 편미분 한 값으로 이루어져 있는 벡터이다. gradient 크기 : 미분 값을 제곱해서 더한 후 루트 값을 씌운 것 gradient 각도 : arctan x/y값 gradient 방향은 현재 픽셀에서 가장 급격하게 변하.. 2020. 1. 29.
[openCV] 형태학적 연산 배경 영상과 현재 영상이 주어지면 차이를 토대로 객체 영역을 추출할 수 있다. 하지만 하나의 개체를 많은 물체가 존재하는 것처럼 인식할 가능성이 있기 때문에 후처리 작업이 필요하다. 따라서 Morphological operation을 사용하면 조각난 물체를 하나로 합칠 수 있다. Erosion and dilation 1. Erosion 침식 - 영상 내에서 B물체를 좌상단으로 스캐닝 하면서 B가 온전히 포함되는 경우만 남겨두는 것 (픽셀 값을 1로 설정) - 이진 영상안의 어떠한 물체를 축소시키거나 얇게 만드는 효과가 있다. - 교집합 개념 2. Dilation 팽창 - 합집합 개념 - structure element를 이동시켰을 때 일부분이라도 물체 A에 포함되는 영역을 찾는 것 (픽셀 값을 0으로 설.. 2020. 1. 29.
[openCV] 동영상 분할 image/video segmentation 주어진 디지털 이미지/영상을 여러 개의 영역으로 나누는 것 Chroma-keying, Surveillance camera Background subtraction 현재 영상을 background로부터 빼는 것 즉, 대부분 영상은 움직이는 물체가 관심의 대상이므로 배경을 빼주는 것이다. t 시간대에 영상(𝑓(𝑥, 𝑦,𝑡))이 있고 그 시간대에 맞는 배경 영상(B(𝑥, 𝑦,𝑡))이 존재할 때 차이 영상(d(x, y, t))는 영상과 배경 영상 차이의 절댓값이 특정 값 T를 넘는 경우 1 혹은 255가 되고 그렇지 않은 경우는 0 차이 영상의 결과가 1 혹은 255 값을 가질 경우 움직이는 물체가 나타난 부분을 의미한다. 가정 : 현재 영상과 배경영상이 동일한 위치.. 2020. 1. 18.
[openCV] 영상 분할 Image Segmentation 영상 분할 디지털 영상을 여러 개의 영역으로 분리하는 것이다. Object classification 입력 영상이 그레이스케일 영상이고 출력 영상은 바이너리 이미지 (0 혹은 255 값으로만 구성된 영상) Thresholding 가정 : 물체와 배경의 밝기 값이 다르다, 배경과 물체 영역 내에서는 밝기 값의 차이가 거의 없다. 적절한 threshold를 구하는 것이 중요하다. 잡음이 많아질수록 threshold를 구하기 어려워진다. 조명이 비균일할때 threshold를 구하기 어려워진다. Thresholding after applying smoothing thresholding 방법 Global thresholding : 동일한 threshold를 모든 픽셀에 적용하는 .. 2020. 1. 18.
[openCV] 컬러영상 처리 Color Processing 컬러 영상을 preprocessing 하는 것 Usage of HSI (or YCbCr 색공간으로 변환) 특정한 축이 intensity 값이 아니라 rgb 각 채널들이 합쳐져서 intensity 값을 표현하는 것이다. HSI or YCbCr 경우는 특정한 채널 값이 intensity 값을 의미한다. 따라서 HSI or YCbCr로 변환시킨 후 I값이나 Y값을 건드리는 방식으로 color processing을 수행한다. (HSI로 변환한 후에는 밝기값 변환이나 히스토그램 평활화, 평균값 필터 등을 수행할 수 있다.) Color Slicing : 특정한 hue 값을 제외하고 나머지 값들을 0으로 변환 Color Conversion : hue 값을 조정 Pseudo Colorin.. 2020. 1. 18.