본문 바로가기

inrange2

[C++ opencv] HSV 색상 검출하기 본문 목표 영상처리를 하다보면 특정 물체의 색을 인식해야할 상황이 주어진다. 컴퓨터에서 다룰 수 있는 색 영역은 크게 RGB 와 HSV 가 있는데, RGB는 컴퓨터에 최적화 되어있고, HSV는 사람의 눈과 비슷하다. 물체의 색을 인식한다면 사람과 같은 방식인 HSV 색 영역을 사용해야 하는데, Opencv 에서 어떻게 HSV 색채널을 다룰 수 있는지 알아보자. 키워드 : inRange( ) , bitwise_and( ), HSV 알아볼 함수 원형 - 이중 임계값 처리 ( inRange ) Mat img = imread("balls.jpg"); Mat img_hsv; cvtColor(img, img_hsv, COLOR_BGR2HSV); Mat yellow_mask, yellow_image; Scalar l.. 2020. 7. 27.
[C++ opencv] 이중 임계값 처리, double thresholding, inRange() 본문 목표 저번 포스트에서 Thresholding 에 대해서 알아봤다. Thresholding을 하는 이유는 내가 명확하게 보고 싶은 것만 보면서 이미지의 크기를 작게하고, 데이터를 단순화해서 연산처리 속도에서 이득을 얻기 위함이었다. 하지만 저번 포스트에서 배우기로는 살짝 아쉬운 부분은 하나의 임계값을 기준으로 잡아서 극과 극으로 데이터를 처리했었던 것이라 아쉬움이 있을 수 있다. 왜냐하면 야외에서 카메라를 사용해 인물을 찍었다 했을 때, 바닥은 비교적 어둡고, 하늘이 찍혔으면 그 부분은 밝을 것이다. 근데 내가 원하는 것은 그 중간에 있는 object 의 데이터일 경우에는 어떻게 해야 좋을지 고민이 될 것이다. 이런 애매한 상황에서 사용할 수 있는 것이 double thresholding 이다. op.. 2020. 7. 1.