본문 바로가기

threshold2

[C++ opencv] 이중 임계값 처리, double thresholding, inRange() 본문 목표 저번 포스트에서 Thresholding 에 대해서 알아봤다. Thresholding을 하는 이유는 내가 명확하게 보고 싶은 것만 보면서 이미지의 크기를 작게하고, 데이터를 단순화해서 연산처리 속도에서 이득을 얻기 위함이었다. 하지만 저번 포스트에서 배우기로는 살짝 아쉬운 부분은 하나의 임계값을 기준으로 잡아서 극과 극으로 데이터를 처리했었던 것이라 아쉬움이 있을 수 있다. 왜냐하면 야외에서 카메라를 사용해 인물을 찍었다 했을 때, 바닥은 비교적 어둡고, 하늘이 찍혔으면 그 부분은 밝을 것이다. 근데 내가 원하는 것은 그 중간에 있는 object 의 데이터일 경우에는 어떻게 해야 좋을지 고민이 될 것이다. 이런 애매한 상황에서 사용할 수 있는 것이 double thresholding 이다. op.. 2020. 7. 1.
[C++ opencv] Thresholding 임계값 처리로 binary 이미지 만들기 본문 목표 영상처리에 있어서 제일 중요한 건 처리 속도이다. 여태 언급했던 노이즈 제거 및 grayscale 사용은 다 처리 속도 때문이었다. 처리속도가 빨라야 여러장을 처리할 수 있고, 여러장을 처리해야 정확도가 올라간다. grayscale은 0~255 까지 값을 저장하는 8 bit 크기를 가지고 있는데, 이제 여기서 더 속도를 빠르게 하기 위해서는 2 bit 크기를 다뤄야 한다. 그게 바로 binary 이미지 이다. 회색의 이미지에 0~255 사이의 값을 기준으로해서 기준 값(임계 값) 이상은 1(white), 이하는 0 (black) 으로 처리하는 방법을 사용한다. 이렇게 binary 이미지로 만드는 작업을 '이진화' 라고 한다. 연산 처리를 빠르게 하고 정확하게 하기위해 사용하므로, 꼭 알아야 하.. 2020. 6. 30.