4

이미지에서 십자가를 찾아야합니다. 내가 아는 것은 붉은 색 사각형의 정확한 위치입니다. 광장 안쪽에 십자가가 있는지 아닌지를 결정해야합니다. 가장 좋은 방법은 무엇입니까? OpenCv/C++를 사용하고 있습니다! 글쎄, OpenCv의 SVM을 사용할 수 있습니까? 그러나 그것은 빠르다? 다른 아이디어가 있습니까?이미지에서 교차 감지

+0

원하는 사항 : 십자 표시 만 나타나시겠습니까? (이미지에서 유일한 객체로), 또는 각 십자가에 대한 좌표 집합? _clever_ 빼기 및 일부 얼룩 감지를 제안합니다. – Sonaten

답변

5

실제로 각 숫자 상자의 중심 좌표가 있고 이미지 획득을 조금 조정할 수있는 경우 가능한 작업입니다. 여기에서 볼 수있는 문제는 이미지에서 밝기 그라데이션을 사용하면 더 좋은 그림을 찍거나 큰 가우스 필터와 이미지 뺄셈을 사용하여 제거해야한다는 것입니다. 그렇지 않으면 십자가를 교차하지 않는 것이 좋은 밝기 임계 값을 찾을 수 있을지 확신하지 못합니다.

사용할 수있는 또 다른 방법은 픽셀의 분산을 계산하는 것입니다. 어두운 펜이 픽셀 분포를 분산 시키 든 상관없이 훌륭한 로컬 측정 값을 제공합니다. 빠른 테스트는 내가 상자의 실제 위치를 가지고하지 않았다, 유망

lotto processing

주를 보인다. 방금 구조와 같은 상자/하위 상자와 관련하여 실제로 올바르지 않은 크기가 같은 영역으로 이미지를 분할했습니다. 따라서 각 왼쪽 위 모서리에 빨간색 삼각형이 있고 일부 겹치는 십자 기호 때문에 일부 오탐이 있습니다.

그래서 여기에 내가 무슨 짓을했는지 :

  1. 는 빨강 채널없이 이미지를 가지고 그것을 graylevel 이미지했다.
  2. 반경 100의 가우시안으로이 이미지를 필터링하고 이미지에서이를 뺍니다.
  3. 이미지를 (7 * 6) x (7 * 2) 개의 하위 영역으로 나누었습니다.
  4. 위의 이미지에 대해 각 하위 영역의 분산을 계산하고 약 0.017의 분산 임계 값을 사용했습니다.
  5. 분산이 더 큰 모든 상자를 교차 시켰습니다.
0

빨간색 잉크를 감지하지 못하는 경우 옵션을 유지하십시오. 빨간색 사각형 내의 모든 픽셀을 누적하고 "적색"에 대한 임계 값, 즉 적색 값 합계를 총 색상 값으로 나눈 몫.

5

간단한 해결책 : 모든 상자의 사전 위치를 알고 있다면 상자의 평균 밝기 만 계산하면됩니다. 표시가있는 상자는 빈 상자보다 훨씬 어둡습니다.

+0

OpenCv에서 밝기를 얻는 방법을 알고 있습니까? – Ben

0

단지 직사각형을 찾은 다음 간단한 픽셀 비교를 수행하십시오.

관련 문제