2009-10-05 6 views
3

이미지 세트에서 색상을 추적하고 싶습니다. 이런 이유로 나는 Introduction to Autonomous Mobile Robots에 언급 된 일정한 thresholding의 알고리즘을 사용합니다. 이 방법은 단순히 빨강, 초록, 파랑 ​​(또는 색조, 채도, 내 경우에는 값)의 최소 및 최대 임계 값 사이에있는 모든 픽셀을 표시합니다.색상 추적을위한 RGB/HSV 색상 매개 변수를 찾는 방법은 무엇입니까?

내 문제는 HSV가 조명 조건을 변경하는 데 덜 민감 하긴하지만, 여전히 프로그램에서 임계 값을 설정하여 가양 성 및 위음성을 최소화하려는 것입니다. 즉, 알고리즘은 주어진 픽셀 집합 만 최종적으로 표시하도록합니다 (예 : 교정 이미지의 사각형).

문제는 6 차원 매개 변수 공간에서 검색하는 것이고 가능한 해결책을 찾을 수는 있지만이 주제에 대한 다른 프로그래머의 의견과 경험을 찾고 있습니다.

그 것이 중요하다면 나는 C++에서 OpenCV으로 구현하려고합니다.

+0

나는 HSV에서 단지 임계 값의 한계를 이해하고 있지만 "나는 여전히 프로그램에서 임계 값을 설정하고 싶다"는 것과 당신이 6 개의 파라미터를 얻는 곳이 무엇을 의미하는지 이해하지 못합니다. 질문을 다시 정리해 주시겠습니까? – Ivan

+0

6 가지 매개 변수 인 색조, 채도 및 값의 최소 및 최대 레벨을 찾는 프로그램을 갖고 싶습니다. 적절한 임계 값은 추적 된 색상을 갖는 모든 픽셀이 표시되고 다른 픽셀이 표시되지 않도록하는 것입니다. – rics

답변

2

질문을 이해하면 추적 마커이 포함 된 보정 이미지에서 6 개의 임계 값 (최소 및 최대 HSV 채널 각각)을 보정하는 절차를 찾고 있습니다. 이를 달성하기 위해 I는 것이다 :

  1. 제 수동 의 캘리브레이션 화상의 영역를 묘사, 마커는
  2. 가 HSV 채널
  3. 마다 해당 영역의 히스토그램 하나를 계산 나타나는 위치
  4. 최소 및 최대 임계 값을 히스토그램에 설정하십시오. 백분위 수 0.05 및 0.95

히스토그램의 최소값과 최대 값을 사용하지 않고 0.05와 0.95 백분위 수를 사용하면 측정 값이 노이즈에보다 견고합니다.

편집 :

두 번째 단계의 수정 : 오류를 최소화하려면 , 당신은 마커의 히스토그램과 환경의 정규화 히스토그램을 normilzed 설정할 수 (이것은 2 개의 개별 이미지가 될 수 있음) 첫 번째 이미지에서 후자를 뺍니다. 결과 마커 막대 그래프에는 배경 픽셀 값이 감쇠됩니다. 이것은 위에서 언급 한 백분위 수 값에 영향을 미칩니다.

+0

검색 할 필요없이 흥미로운 솔루션. 내 문제는 최소한의 표시된 픽셀 만 윤곽선 영역 밖으로 표시되지 않는다는 것입니다. 또한이 과정에서 수동 단계가 필요하지 않습니다. – rics

+0

수동 단계를 피하려면 표식을 전체 화면으로 표시 할 수 있습니다. 최소의 오류 수를 유지하려는 점에 관해서는 임계 값 기반 객체 탐지의 한계를 이해해야하며 획득 방식, 주변 광량 등의 변화에 ​​강하지는 않습니다. 일반적으로 사람들은 thresholding + 필터링. – Ivan

관련 문제