[OpenCV/java] inRange 함수란 무엇인가?
프로그래밍/그 외2018. 4. 15. 16:46
안녕하세요. 개발자 드리머즈입니다.
OpenCV의 inRange함수에 대해 알아봤습니다.
공식홈의 설명(https://docs.opencv.org/3.4.1/d2/de8/group__core__array.html#ga48af0ab51e36436c5d04340e036ce981)에 따르면 inRange 함수
1 | void cv::inRange (InputArray src, InputArray lowerb, InputArray upperb, OutputArray dst) | cs |
위와 같은 인자를 받습니다. c++기준이긴 하지만 java와 유사합니다.
1번째 인자가 검사할 이미지이며
2번째 인자가 하한값, 3번째 인자가 상한값이며
검사할 이미지에서 픽셀별로 검사하여 하한값과 상한값 사이에 들어오면 흰색(255)로 표시하고 그렇지 않은 픽셀은 검은색(0)으로 표시한 이미지를
4번째 인자에 담게 됩니다.
제가 inRange를 접한 코드는 아래와 같습니다.
1 | Core.inRange(img_hue, new Scalar(0, 0, 0), new Scalar(255, 255, 32), img_hue); | cs |
R과 G의 범위는 0~255이고 B의 범위가 0~32입니다.
파란색이 조금만 들어간 영역을 구하기 위한 코드로 추측됩니다.
댓글 영역