- Используйте файл изображения в качестве камеры
- Пользовательское изображение камеры эмулятора Android
- Как воспользоваться вебкамерой в эмуляторе Android
- Суть проблемы
- Подходы к решению
- Что установлено
- Сервер
- Клиент
- Результат
- Послесловие
- Подмена изображения с веб камеры андроид
- Получение фото с android-смартфона прямо в html форму
- Теория
- Решение
Используйте файл изображения в качестве камеры
Вместо использования реальной камеры, я хотел бы смоделировать вход камеры в виде статического файла изображения. Я хочу, чтобы он работал с любым приложением, как если бы это была камера. Точнее говоря, Android находится внутри эмулятора на компьютере без веб-камеры.
(Как и в этом вопросе, но мне достаточно статичного изображения)
Чтобы быть более точным, я хочу отсканировать QR-код из WhatsApp, чтобы использовать веб-сеть WhatsApp, поэтому использование приложений, которые открываются, когда приложение хочет открыть камеру, не работает. Мне нужно что-то вроде поддельного драйвера камеры.
Существуют сторонние приложения «поддельные камеры», которые позволяют вам выбирать изображение, например:
- Image2Camera ( бесплатно )
- Поддельная камера от New Horizon Apps ( бесплатно )
- Fake Camera — пожертвовать версию от Вацлава Балака ( платно )
Обратите внимание, что для того, чтобы эти приложения были полезными , вам необходимо сначала поместить изображение в хранилище устройства (эмулятора) .
Кроме того, поскольку эти приложения на самом деле не являются приложениями для камер, непосредственное открытие приложений не будет действительно полезным (кроме, возможно, чтения инструкции по использованию приложения). Вместо этого, когда вы хотите сделать снимок из приложения, вместо этого эти приложения можно будет выбрать как приложение «камера», а затем вы можете выбрать изображение на устройстве.
Отказ от ответственности : я не связан ни с одним из этих приложений.
Источник
Пользовательское изображение камеры эмулятора Android
Кто-нибудь знает, можно ли открыть какую-то личную картинку при запуске камеры эмулятора?
У меня есть приложение, основанное на анализе изображений, и мне хотелось бы, чтобы при нажатии кнопки для камеры камера открывала не движущееся изображение эмулятора Android по умолчанию. Я хочу, чтобы он открыл какое-то изображение, которое я установил как изображение по умолчанию. Поэтому, когда я решу сделать снимок, он покажет только это изображение, а когда я сделаю снимок, это изображение будет сохранено в галерее, а не в Android по умолчанию.
Загрузите исходный код из следующего URL-адреса. Это работа как другая галерея в эмуляторе.
Пройдя намерение захватить изображение с камеры, выберите эту галерею. это похоже на мобильную 3d-галерею samsung.. это вернет изображения по умолчанию.. в эмуляторах. еще одна вещь будет работать отлично после версий 3.0 только.
Под Tools > AVD Manager , выберите “карандаш”, чтобы перейти к “Конфигурация виртуального устройства”. Show Advanced Settings > Camera даст вам возможность использовать эмуляцию или устройство:
Устройство – используйте веб-камеру хост-компьютера или встроенную камеру
Если все, что вам нужно, это вставить неподвижное изображение в камеру, начиная с Android Studio 3.2, вы можете поместить свои статические изображения в виртуальную сцену:
как обсуждено в этой записи от блога разработчиков Android. Обратите внимание, что вам нужно переместить положение камеры в столовую, чтобы увидеть ваши изображения (развернитесь и используйте Alt-w для перемещения вперед).
Кажется, единственным решением является использование удаленной камеры.
Это не то, что я искал, но я думаю, что его можно использовать для тестирования. Возможно, даже сканер штрих-кода будет работать с этим, если штрих-код будет помещен правильно перед камерой.
Я перепробовал много вещей для этого, и оказалось, что наиболее подходящим решением (по крайней мере для меня) было использование реального устройства в качестве эмулятора.
Источник
Как воспользоваться вебкамерой в эмуляторе Android
Суть проблемы
Если мы используем эмулятор и камеру в нашем приложении, то на выходе получаем приблизительно такую картинку:
Хотелось бы, чтобы вместо этого были изображения с вебкамеры компьютера.
Подходы к решению
1) Можно доработать эмулятор Андроид, который в opensource.
2) Передать поток с вебкамеры по сети, и использовать его в приложении.
3) Использовать Android x86.
Исходники эмулятора для honeycomb недоступны с марта 2011, есть доступные deprecated версии, с ними работать весело, но непродуктивно. А жаль, это был бы наиболее приемлимый вариант. Тем более опыт допиливания приложений, которые работают с видеопотоком и v4l2 под Linux есть.
Androidx86 — похоже выход, это может помочь многим, но… У меня поднять веб-камеру не получилось.
Первый и третий подход нам недоступен, тогда будем бороться за второй подход.
Идея давно уже предложена и даже реализована для старых версий эмулятора и API. Для новых версий API предложено решение, но исключительно для JMF. Отличное решение, но мою камеру JMF не распознал. Заставить камеру работать с JMF не получилось ни в Linux, ни в Windows(возможно я что-то делал не так, по идее это решение должно запускаться в Windows). Все дальнейшие действия я проводил уже исключительно в Linux. Модифицируем решение этой проблемы на базе уже готового кода.
В исходном коде реализована классическая система клиент-сервер. Сервер на компьютере вещает в сеть картинки с камеры, а клиент в эмуляторе (в приложении) принимает эти картинки.
Что установлено
Сервер
Для создания сервера я решил двигаться по пути наименьшего сопротивления и воспользоваться библиотекой v4l4j — которая прекрасно поддерживает мою камеру.
Необходимо доработать исходный код таким образом, чтобы вместо JMF он использовал v4l4j. Вот что получилось.
измененный WebBroadcaster(привожу код полностью, чтобы была понятна логика работы. Автор Tom Gibara, я лишь адаптировал под v4l4j):
Какая логика работы:
При запуске включаем камеру и подготавливаемся к получению изображений:
Потом, когда клиент соединяется — высылаем ему изображение в поток:
Из доработок на будущее— код использует устаревшее getVideoFrame(), который надо-бы заменить на вызов callback функции при появлении нового фрэйма на камере, но пришлось бы вносить изменения также и в логику работы всей связки, потому оставил все как есть, Возможно перепишу лучше позже, когда будет время. Ведь это вспомогательная функция на этапе разработки… В идеале необходимо сделать чтобы программа читала поток в формате MJPEG, т. е. парсила multipart/x-mixed ответ от HTTP сервера и рисовала картинки по мере поступления.
Клиент
Cсылка на классический пример использования обычной камеры. Мы его немного сократим, упростим(в целях обучения и тестирования) и получим вот такой пример для обычной камеры.
Важные строки: Класс который будет отвечать за отображение.
А внутри этого класса Preview, перерисовываем каждый раз поверхность на который выводится предпросмотр.
Если этот код запустить в эмуляторе, то получим квадратик как на скриншоте выше.
Теперь, модифицируем класс таким образом чтобы он показывал картинки с нашего сервера.
1) Возьмем исходник класса SocketCamera отсюда. Добавим в наш проект.
2) Изменим исходный код класса Preview таким образом:
Результат
Теперь запустим сервер:
java -Djava.library.path=/opt/Android/v4l4j-0.8.10 -cp «/opt/Android/v4l4j-0.8.10/v4l4j.jar:./» com/webcambroadcaster/WebcamBroadcaster
где -Djava.library.path=/opt/Android/v4l4j-0.8.10 путь к вашей библиотеке v4l4j
Запустим приложение CameraDemo на эмуляторе. В результате получим видеопоток в с вебкамеры в эмуляторе. Поток немного дергает, идет с запозданием, но это лучше чем ничего.
Послесловие
Задумался о существующем пороге входа в технологию. Вроде бы и небольшой порог, но покупка устройства очень часто недоступна начинающему разработчику. Эмулятор снимает этот порог лишь частично.
А какой же тогда порог входа в разработку приложений под iPhone?
Столкнувшись с тем, что участник сообщества открытого кода закрывет его после некоторого времени, возникают вопросы:
А в прибыли ли только дело?
Может быть работа сообщества не оправдала ожиданий Google?
Неужели теперь есть что скрывать от сообщества?
А что теряет гигант, закрываясь от изучения и дополнения кода сторонними разработчиками?
UPD: Это все возможно уже и не актуально. skl1f подсказывает, что камера поддерживается в SDK.
developer.android.com/sdk/tools-notes.html — вроде документация говорит да, а официальный мануал: developer.android.com/guide/developing/devices/emulator.html — нет. Надо пробовать.
UPD2: Проверил. Камера в эмуляторе работает и доступна для SDK tools rev. 14 и выше и только для Android 4.0 и выше. Для старых платформ выше описанный способ все еще актуален.
Источник
Подмена изображения с веб камеры андроид
Последнее обновление программы в шапке: 19.11.2020
Краткое описание:
вэбкамера из вашего аппарата
Описание:
Превращает ваш аппарат в сетевую камеру с множеством вариантов просмотра. Нет необходимости в привязанном к вашей ОС клиенте, просматривать можно в браузере или VLC-плеере (в Windows Media Player и The KMPlayer не заработало). Может работать как скрытая камера в фоновом режиме. Поддерживается использование в видеочате (например Skype, но только в Windows (нужна программа для компа)(при попытке запуска рубит Skype 5.0)).
Просто устанавливаете приложение, запускаете сервер и набирате в браузере на компе адрес, который прописан в выпадающем уведомлении.
Реально меняет разрешение (на больших притормаживает)
Русский интерфейс: Да
Версия: 1.14.29.734 IP Webcam Pro (moorware)
Версия: 1.14.28.733 Patched by Android+ (Alex0047)
версия: 1.14.28.733 GP Сообщение №888, автор And_RU
Версия: 1.14.27.731 IP Webcam Pro (moorware)
версия: 1.14.23.691 [Patched] 1.14.23.691
версия: 1.13.7 IP Webcam (Пост Meoweom #63927889)
версия: 1.14.27.730 GP IP Webcam (Пост And_RU #87389272)
версия: 1.14.19.686 [Patched] 1.14.20.687
версия: 1.14.20.687 [Patched] IP Webcam (Пост Alex0047 #79964043)
Версия: 1.13.25 Patched IP Webcam (Пост Alex0047 #68486975)
версия: 1.13.24 Patched IP Webcam (Пост Alex0047 #67815347)
версия: 1.13.23 Patched IP Webcam (Пост Alex0047 #67296222)
версия: 1.13.21r Patched IP Webcam (Пост Alex0047 #66442909)
версия: 1.13.2 IP Webcam (Пост Alex0047 #62618829)
версия: 1.12.5r IP Webcam (Пост Alex0047 #52088180)
версия: 1.12.2r IP Webcam (Пост vutak #49609453)
версия: 1.12.0r IP Webcam (Пост Alex0047 #48019906)
версия: 1.11.1r IP Webcam (Пост алекс12 #38567437)
версия: 1.10.1r IP Webcam (Пост Alex0047 #38275918)
версия: 1.9.12r IP Webcam (Пост #35739952)
версия: 1.9.11r IP Webcam (Пост #33433410)
версия: 1.9.9 IP Webcam (Пост #31703889)
версия: 1.9.8 IP Webcam (Пост #31482543)
версия: 1.9.6 //4pda.to/forum/d…+Webcam+Pro+v1.9.6.apk
версия: 1.8.21 //4pda.to/forum/dl/post/1906487/IP%20Webcam%20v1.8.21.apk
версия: 1.8.18 AdsFree //4pda.to/forum/dl/post/1857417/IP_Webcam_ads_free.apk от MEGA_PRO
версия: 1.8.18 //4pda.to/forum/dl/post/1856858/com.pas.webcam_1.apk
версия: 1.8.15 //4pda.to/forum/dl/post/1721309/com.pas.webcam.apk
версия: 1.8.13 //4pda.to/forum/dl/post/1600459/IP_Webcam_1.8.13.apk
версия: 1.8.7 //4pda.to/forum/dl/post/1025827/IP_Webcam_1.8.7.apk
версия: 1.8.6 //4pda.to/forum/dl/post/992827/IP_Webcam_1.8.6.apk
версия: 1.7.6.1 com.pas.webcam_1.apk ( 313.27 КБ )
версия: 1.7.0 //4pda.to/forum/dl/post/861995/IP_Webcam_v1.7.0.apk
Сообщение отредактировал iMiKED — 12.12.20, 13:04
Источник
Получение фото с android-смартфона прямо в html форму
Возникла задача для интернет-магазина сфотографировать большое количество товаров. Специфика товара такова, что не столько важна красивая картинка, сколько особенности конструкции товара (с какой стороны находится шлейф, есть ли петли крепления и т.п.)
Фотографировать обычным фотоаппаратом, потом заливать фото на компьютер, искать каждый товар в админке, потом искать соответствующее фото, показалось очень долго. Гораздо проще открыть товар в админке и навести телефон на товар. Тем более, что при хорошо выставленном освещении, современные смартфоны выдают вполне качественную картинку.
Теория
В андроид-маркете лежит замечательная программа IpWebCam, которая позволяет превратить свой телефон в полноценную веб-камеру. Кроме того у нее есть api для получения фотографий с автофокусом. При запуске IpWebCam, на телефоне поднимается web-сервер, который позволяет с локальной машины по wi-fi получать текущий кадр с телефона по адресу вида 192.168.0.14:8080/shot.jpg
Идея была следующая:
- Вставить в форму с адресом фотографии со смартфона
- Создать canvas и в него скопировать содержимое
- Сохранить данные при помощи canvas.toDataURL()
- Отправить данные на сервер при помощи ajax
К сожалению, из-за кросс-доменных политик метод toDataURL() сохраняет только черный квадрат вместо изображения. Поэтому canvas надо создавать на том же домене, из которого берется изображение. Сходив на сайт программы, я узнал, что IpWebCam позволяет создавать собственные html-страницы на своем внутреннем сервере. Для этого их достаточно залить на sd-карту и указать программе, в какой папке их искать.
Алгоритм следующий:
- На смартфоне создаем специальную страницу (например my.html)
- В форме на нашем сайте создаем , в который грузим html-страницу со смартфона.
- На телефоне в html странице создаем canvas, в который грузим изображение с камеры.
- Сохраняем данные при помощи canvas.toDataURL() в переменную
- Передаем данные в родительскую страницу при помощи window.postMessage()
- В родительской странице получаем изображение и отправляем данные на сервер при помощи ajax
- На сервере сохраняем изображение в файл.
Решение
Во-первых, ставим на смартфон программу IpWebCam из маркета.
Создаем на смартфоне папку webcam, а в ней создаем файл my.html со следующим содержимым:
Обратите внимание, что в начале файла идут HTTP заголовки и пустая строка перед основным содержимым страницы. За основу был взят javascript видео-проигрыватель из самой программы.
Теперь надо указать, где искать файлы для веб-сервера приложения. Для этого откройте программу на телефоне, нажмите хардварную кнопку меню и выберите единственный пункт Cheats. Теперь введите в открывшемся диалоговом окне команду set(HtmlPath,/sdcard/webcam). Обратите внимание, что после запятой не допускаются пробелы.
Теперь на нашем сервере создаем файл jquery плагина jquery.ipwebcam.js:
Плагин цепляется к кнопке вызова диалога. Например:
Плагин передает данные на сервер методом POST в переменной data. Сохранить файл на php:
На этом все, если кому-нибудь пригодится, буду рад.
upd Идея была в том, что администратор работает в админке за большим компом, так удобнее (он ведь не только фотки делает). А смартфон кладется на штатив и не трогается. Непосредственно фотографирование (предпросмотр и нажатие спуска) происходит на большом компе, чтобы лишний раз к телефону не бегать. Поэтому саму фотографию придется передавать непосредственно в html форму на большом компе. Это можно сделать только подняв веб-сервер на смарте. Можно было бы написать программу самому, но зачем если уже есть готовое решение — IpWebCam.
Источник