Обнаружение движения Android

Я хочу обнаружить движение с помощью датчиков Android. Например, я держу только нижнюю часть телефона и перемещаю верхнюю часть телефона вверх. Мне кажется, мне нужны алгоритмы выборки. Я могу написать простое приложение для записи данных датчиков. Для сравнения данных в реальном времени и записанных данных есть ли какая-нибудь библиотека? У меня есть подозрение о проблемах с перфорацией, если я это сделаю. Есть ли другой путь для движения детонирования?

1
nl ja de

2 ответы

1
добавлено

http://code.google.com/p/android-motion-detection/ is a good example.

Я изменил метод isDifferent в классе RgbMotionDetection, чтобы обнаружить движение в центральной части (25%) изображения камеры.

protected static boolean isDifferent(int[] first, int width, int height) {
            if (first==null) throw new NullPointerException();

            if (mPrevious==null) return false;
            if (first.length != mPrevious.length) return true;
            if (mPreviousWidth != width || mPreviousHeight != height) return true;

            int totDifferentPixels = 0;
            int size = height * width;

            int startHeight = height/4;
            int endHeight = 3 * (height/4);
            int startWidth = width/4;
            int endWidth = 3 * (width/4); 
            int offSet = width/4;

            Log.d("params", "start height " + startHeight + "end height " + endHeight + "start width " + startWidth + "end width " + endWidth);

            Boolean offSetApplied;

            for (int i = startHeight, ij=0; i < endHeight; i++) {
                {
                    offSetApplied = false;
                    for (int j = startWidth; j < endWidth; j++, ij++) {
                            if (!offSetApplied){
                                offSetApplied = true;
                                ij = startHeight * width + offSet;
                            }

                            int pix = (0xff & ((int)first[ij]));
                            int otherPix = (0xff & ((int)mPrevious[ij]));

                            //Catch any pixels that are out of range
                            if (pix < 0) pix = 0;
                            if (pix > 255) pix = 255;
                            if (otherPix < 0) otherPix = 0;
                            if (otherPix > 255) otherPix = 255;

                            if (Math.abs(pix - otherPix) >= mPixelThreshold) {
                                    totDifferentPixels++;
                                    //Paint different pixel red
                                    //first[ij] = Color.RED;
                            }
                    }
                }
        }



            if (totDifferentPixels <= 0) totDifferentPixels = 1;
            //boolean different = totDifferentPixels > mThreshold;

            int percent = 100/(size/totDifferentPixels);

            //float percent = (float) totDifferentPixels/(float) size;

            boolean different = percent > SENSITIVITY;

            String output = "Number of different pixels: " + totDifferentPixels + "> " + percent + "%";
            if (different) {
                    Log.e(TAG, output);
            } else {
                    Log.d(TAG, output);
            }

            return different;
    }
0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)