iPhone iOS UI 이미지 카메라 피드에서 "레이저 포인터"도트를 감지하는 방법은 무엇입니까?


9

추적 된 로봇 장난감이 있는데 iPhone으로 제어하고 있습니다. 로봇은 알려진 프레임 크기의 라이브 카메라 피드를 출력하고 UIImage에 표시합니다.

로봇에 레이저 포인터를 추가하고 로봇의 축을 따라 고정했습니다. 이미지에서 레이저 포인터 점을 감지하여 물체의 근접성을 계산하려고합니다. 레이저 도트가 중앙에서 멀리 떨어져 있으면 로봇이 벽에 붙어서 백업해야한다는 것을 알고 있습니다.

화면에서 밝은 흰색 빨간색 픽셀의 점을 감지하려면 어떻게해야합니까? 한 가지 해결책은 중심의 특정 반경 내에서 픽셀의 색상을 샘플링하고 밝은 밝은 색상을 감지하는 것입니다. 누구든지이 활동에 대한 알고리즘을 제안 할 수 있습니까?

또 다른 방법은 마지막 몇 프레임에서 도트의 평균 위치를 추적하여 추측 반경을 줄이는 것입니다. 미리 정의 된 영역 내에 점이 없으면 검색 영역이 확장 될 수 있습니다.

마지막으로 로봇이 주변의 카펫을 감지하도록 가르 칠 수 있기를 원합니다. 카펫은 특정 방식으로 레이저 포인터를 반사하며 로봇 주위에 비슷한 속성을 가진 프레임 수를 이해하고 싶습니다. 레이저 포인터가 화면의 어디에 있는지 아는 경우 해당 이미지에서 작은 사각형을 자르고 서로 비교할 수 있습니다. 실루엣이 일치하는지 이해하기 위해 여러 개의 작은 이미지를 서로 비교하는 효율적인 방법이 있습니까?

레이저가 광택 표면에 반사되어 있고이 반사 방향이 굴절 법칙에 따라 공간에서 표면 방향에 대해 알려줄 수 있습니다.

감사합니다!

레이저 포인터 닫기

레이저 포인터 1


1
패턴으로 레이저 포인터를 켜거나 끌 수 있습니까? 하나의 프레임처럼, 다음 프레임이 켜져 있고 후속 프레임을 빼서 매우 분명하게 만듭니다.
endolith 2012 년

아주 좋은 생각입니다! 그러나 나는 레이저 포인터를 켜거나 끌 수 없습니다.
Alex Stone

@ AlexStone 나는 비슷한 것을 달성하려고 노력하고 있는데, 유일한 차이점은 눈동자에서 레이저 광을 감지하려고한다는 것입니다. 레이저 빔을 추적 할 때 opencv로 소송을 제기 한 iOS 코드 또는 샘플 코드를 알려 주시겠습니까? AJ에게 감사드립니다.
AmJa

답변:


10

OpenCV 는 iOS 용으로 컴파일 할 수 있습니다. 가장 효율적이지는 않지만 알고리즘 포팅 옵션을 제공합니다. ConDensation 알고리즘을 사용하여 유사한 마커 추적 문제를 수행했습니다. OpenCV로 마커 추적을 찾습니다. 매우 큰 연구 분야이며 원하는 정확한 알고리즘은 응용 프로그램에 따라 다릅니다. 내가 정확하게 기억한다면 약 3000 가지의 이미지 처리 기술이 있습니다-좋은 것을 선택하는 것은 실제 예술입니다!

한 가지 해결책은 중심의 특정 반경 내에서 픽셀의 색상을 샘플링하고 밝은 색상을 감지하는 것입니다. 누구든지이 활동에 대한 알고리즘을 제안 할 수 있습니까?

그건 그렇고, 이것은 입자 필터 (응축이 하나의 방법 중 하나)라는 기본 아이디어입니다. 당신 스스로의 기본 아이디어를 알아 냈습니다!

또 다른 방법은 마지막 몇 프레임에서 도트의 평균 위치를 추적하여 추측 반경을 줄이는 것입니다. 미리 정의 된 영역 내에 점이 없으면 검색 영역이 확장 될 수 있습니다.

이것을 상태 지속성이라고하며 다양한 방법으로 모델링 할 수 있습니다. 결로 알고리즘은 기존의 칼만 필터와 다르지 않은 확률 론적 접근 방식을 사용합니다.

실루엣이 일치하는지 이해하기 위해 여러 개의 작은 이미지를 서로 비교하는 효율적인 방법이 있습니까?

이것은 조금 더 어렵다. 템플릿 일치를 시도 할 수는 있지만 iOS에서 얼마나 잘 수행되는지 잘 모르겠습니다 (매우 무거운 계산 및 iOS 카메라가 적합하지 않음).


폴, 엄청나게 자세한 답변을 주셔서 감사합니다! OpenCV 프레임 워크를 얻었고이를 사용하는 프로젝트의 예를 찾을 것입니다.
Alex Stone

안녕하세요 Paul, openCV를 사용하여 iOS 카메라를 통한 레이저 감지를위한 샘플 앱에 대한 아이디어가 있습니까?
AmJa

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.