2013-09-02 4 views
5

카메라에서 이미지의 일부 변경 사항을 감지하거나 이미지에서 동작을 말할 수있는 경우 이벤트가 발생하는 iOS의 앱을 만들고 있습니다. 여기에서는 얼굴 인식이나 특정 컬러 이미지 모션에 대해 묻지 않습니다. OpenCV에 대한 검색 결과는 모두 얻었습니다. 그리고 나도 자이로 스코프와 가속도계를 사용하여이 목표를 달성 할 수 있다는 것을 알았지 만 어떻게해야합니까 ??iOS에서 카메라의 동작 감지

저는 iOS에서 초보자입니다. 제 질문은 프레임 워크 나 카메라로 모션 또는 모션 감지를 감지하는 쉬운 방법이 있습니까? 달성 방법은 무엇입니까?

예를 들어 카메라 앞에 손을 대면 메시지 나 경고가 표시됩니다.

그리고 plz는 이것에 대해 유용하고 이해하기 쉬운 링크를 제공합니다. 고맙습니다

+0

이것은 iOS 7이 어떤 종류의 것을 포함 할 것이라는 공식적인 답변은 아니지만 [많은 소문이 있습니다] (http://www.google.com/search?q=motion+detection+ios) 동작 감지 기능. –

+0

그래서이 MichaelDautermann을 달성 할 방법이 없습니다. –

+0

나는 @ Shyam을 말하지 않았다. 내가 한 말은 모션 탐지가 단지 2 주 만에 훨씬 더 쉬워 질 수 있다는 것입니다. 일부 SDK 또는 오픈 소스 솔루션이 이미 있는지 검색 할 수도 있습니다. –

답변

10

제멋대로 움직임 감지 기능을 원한다면 오픈 소스 GPUImage 프레임 워크에 GPUImageMotionDetector가 있습니다.

이 간단한 동작 탐지기는 저역 통과 필터를 기반으로 프레임 간 비교를 수행하며 프레임과 변경된 영역의 중심 사이에서 변경된 픽셀 수를 식별 할 수 있습니다. 라이브 비디오에서 작동하며 iOS 응용 프로그램에서 기능의 모션 활성화에 사용했던 사람들을 알고 있습니다.

옵티컬 플로우 또는 피쳐 매칭이 아닌 픽셀 차이에 의존하기 때문에 프레임에서 이동하는 불연속 물체를 추적 할 수 없습니다. 그러나 기본적인 모션 감지가 필요한 경우이 방법을 사용하면 응용 프로그램에 쉽게 들러 갈 수 있습니다. 실제로 어떻게 작동하는지 보려면 FilterShowcase 예제를보십시오.

+0

FilterShowCase 예제를 실행하려고하면 GPUImageBilateralFilter.m 파일에 오류가 표시됩니다. - 선언되지 않은 식별자 '_distanceNormalizationFactor'사용 여기에서 Xcode 4.3.3을 사용하고 있으며 Xcode 4.1에서 다음과 같은 오류가 표시됩니다. 알 수없는 유형 이름 '__unsafe_unretained'@Brad Larson –

+0

약한 링크 코어 비디오 프레임 워크의 의미는 무엇입니까 ??? 프레임 워크의 도입 부분에 썼습니다. @Brad Larson –

+0

@ShyamDixit - Xcode 4.(1)가이 시점에서 상당히 고대이며, 어떤 것도 그것을 사용하지 않습니다. 이 프레임 워크가 작동하려면 ARC 지원이 필요하며 Xcode 4.4 이상을 권장합니다. 또한 저장소의 최신 코드를 사용하십시오. 왜냐하면'distanceNormalizationFactor' 속성은 이전 Xcode 버전에서 올바르게 정의 되었기 때문입니다. 그러나 이것은 몇 달 전에 고쳐졌습니다. 최신 Xcode에서 무언가를 약하게 링크하려면 Link With Binary With Libraries 빌드 단계에서 프레임 워크의 상태를 Required에서 Optional으로 변경하십시오. –

1

내가 정확히 당신이 무슨 뜻인지 이해가 안 : 나는

를 검색 할 때 내가 OpenCV의 모든 결과를 얻었 기 때문에

다음

내가, 얼굴 인식하거나 특정 색깔의 이미지 움직임에 대한 요구 하진 않았어

하지만 IOS에서 opencv를 사용할 수 있으므로 opencv로 이동하는 것이 좋습니다. setup opencv in ios에 당신을 돕는 좋은 연결은 여기있다.

온라인으로 많은 opencv 모션 감지 코드가 있으며 여기에 one among them을 사용할 수 있습니다.

UIImage (IOS의 이미지 유형)을 cv::Mat 또는 IplImage으로 변환하고 opencv 알고리즘으로 전달해야합니다. this link 또는 this을 사용하여 변환 할 수 있습니다.