Архив

Публикации с меткой ‘java’

Сравнение работы с камерой в OpenCV на Python и Java

Работая над проектом вездехода с трансляцией картинки пришлось задуматься, а правильно ли выбран основной язык разработки — Java. В последнее время Python приобрёл большую популярность и широко используется в приложениях машинного обучения и работы с видео на OpenCV. Это было решено проверить на простом получении картинки, т.к. данная часть является наиболее важной в моём проекте.

Сравнение работы с камерой в OpenCV на Python и Java

Читать далее…

Categories: Soft Tags: , ,

Raspberry Pi: Как работать с Bluetooth на Java

Продолжая работать над своей задумкой, настало время получить доступ на Raspberry Pi к Bluetooth, используя Java.  Bluetooth API для Java описан в спецификации JSR-82. Поиски в Internet выдали, что сейчас широко распространена библиотека BlueCove, которая реализует JSR-82. Её настройке и будет посвящена эта статья.

Raspberry: Как работать с bluetooth на java

Читать далее…

Categories: Hard, Soft Tags: , , ,

Heroku.com: как получить реализацию Websockets на java (JSR-365 подход)

23 Октябрь 2016 Нет комментариев

Я уже описывал, как удалось запустить java веб-приложение с Websockets на Heroku. Этот подход основывается на запуске war файла со legacy кодом для tomcat 7. Для современных приложение такое решение не подходит. Хочется, чтоб код использовал JSR 365.

Heroku.com

 

Читать далее…

Categories: Soft Tags: , , ,

Heroku.com: как получить реализацию Websockets на java (native подход)

22 Октябрь 2016 Нет комментариев

Для реализации одной идеи возникла потребность разместить в интернете где-нибудь приложение с поддержкой Websockets, которое будет доступно из любого места. Главное условие — бесплатно. Ранее я уже делал вещание с камеры на websocket и java. Этот пример с небольшими изменениями я планировал попробовать разместить в глобальной сети. В качестве целевой площадки выбор пал на Heroku.com.

Heroku.com: как получить Websocket на java

Читать далее…

Categories: Soft Tags: , , , ,

Вещание звука через websocket, реализация на java

5 Сентябрь 2016 Нет комментариев

В прошлой статье был описан способ вещания с веб-камеры через websocket. Сейчас пришла пора попробовать организовать вещание с микрофона. Архитектура примера будет такой же, как и прошлого:

Вещание с звука через websocket, реализация на java

Сигнал с микрофона поступает прямо на сервер, где он считывается и отправляется через websocket клиенту. В качестве сервера для обработки запросов WebSocket будет использоваться Jetty, поэтому вещание звука хорошо дополняет вещание картинки. Будет достаточно доработать прошлый пример.

Читать далее…

Categories: Soft Tags: , , ,

Как записать звук на Java в byte массив

28 Август 2016 Нет комментариев

Есть много задач, в которых может понадобиться передать звук в виде массива байтов через сеть. Java сильно отстала в этом вопросе и давно не развивала свой API для работы со звуком. Это вызывает трудности при решение простых на первый взгляд вопросов.

Sound recording to byte array

На сайте уже есть пример про запись звука с помощью Java. Пример простой и пишет звук только в файл.

AudioSystem.write(m_audioInputStream, m_targetType, m_outputFile);

Читать далее…

Categories: Soft Tags: ,

Вещание с web-камеры через websocket, реализация на java

27 Август 2016 Нет комментариев

После эксперимента с получением картинки с помощью Java и OpenCV пришла идея организовать вещание видео на сайте своей локальной сети. Но как это проще сделать?

Сейчас Javascript достиг того уровня, когда можно не ограничиваться простой перезагрузкой картинки на странице, а воспользоваться другими более удобными методами. Мой выбор пал на относительно молодую технологию WebSockets. Она позволяет организовать duplex соединение клиент-сервер, что уменьшает потери времени на установление подключения.

Последние версии Application и Web серверов для java приложений уже поддерживают спецификацию JSR356, которая определяет стандартный интерфейс для WebSocket. Поэтому в данном примере будут очень уместно этим воспользоваться на примере Jetty

 Архитектура примера будет следующей:

Вещание с web-камеры через websocket, реализация на java

Камера будет подключена к локальному серверу, который с помощью OpenCV будет забирать картинки и через WebSocket передавать в браузер.

Читать далее…

Categories: Soft Tags: , , , ,

Как запустить FrameGrabber для OV7670

6 Июнь 2016 17 comments

В одной из своих статей я приводил пример, как работать с камерой OV760. Для облегчения понимая, клиентская программа была реализована на Java, который проще в использовании, чем C++. Но это вызвало трудности у новичков. Ниже будет описано, как правильно запускать программку FrameGrabber из примера.

frame-grabber-main

Читать далее…

Categories: Hard, Soft Tags: ,

Детектирование звука на Java

22 Март 2016 3 comments

После небольших экспериментов с детектором движения на java пришла пора детектировать звук. Для этой задачи можно воспользоваться Java SDK, пакет «javax.sound.sampled». Работа будет основана на примере записи звука в javа. Для этого придётся разобраться, какая информация приходит в AudioInputStream.

Sound detector

Читать далее…

Categories: Soft Tags: ,

Определение движения на java с помощью вебкамеры и OpenCV

12 Март 2016 2 comments

После попыток получить картинку с помощью Arduino, возник вопрос, а как сделать то же самое, но на обычном компьютере. Пришлось перебрать несколько вариантов и остановиться на библиотеке OpenCV, которая в отличие от java media framework, активно развивается.

OpenCV and Java

Библиотека оказалась полностью написана на c++, имеет реализации для разных платформ и предоставляет обертку для работы из Java через native интерфес.

Если у вас нет опыта работы с этом библеотекой, я бы советовал начать с добавления opencv в вашу IDE. Этот шаг приводиться не будет, т.к. он достаточно хорошо описан в документации. Далее можно попробовать получить картинку с камеры. После этого можно приступать к дальнейшему чтению статьи.

Читать далее…

Categories: Soft Tags: , ,

Передача картинки с OV7670 через Arduino Uno на Android телефон

30 Январь 2016 34 comments

В прошлой статье «Arduino Uno и камера ov7670 — пример использования» был описан способ, как получить картинку с OV7670 на компьютере через USB порт. Это хороший первый шаг, но пришло время попробовать что-то более практичное. Теперь картинка будет передана через bluetooth на Android телефон.

Печедача картинки с ov7670 через bluetooth

 

Читать далее…

Categories: Hard Tags: , , , , ,

Arduino Uno и камера ov7670 — пример использования

15 Декабрь 2015 129 comments

Arduino Uno и камера ov7670В настоящий момент камера ov7670 является самым доступным модулем получения изображения для любителей Arduino. Когда-то она стоила около 12$, сейчас же её цена упала до менее 5$.

ov7670 (datasheet) имеет хорошие возможности для своей цены:

  • различные разрешение VGA (640 х 480); — QVGA (320 х 240); — CIF (352 х 240); — QCIF (176 × 144);
  • скорость передачи до 30 fps,
  • несколько способов кодирование изображения RAW RGB, RGB 565/555, YUV/YCbCr 4:2:2
  • интерфейс взаимодействия I2C.

Она была бы идеальна если бы не одна проблема — подключение и получение хотя бы тестового изображения, как и в любой мало-мальски сложной железке. В интернете много обсуждений, статей, рекомендаций, но четких шагов найти не получается: кто-то ленится их писать, кто-то выкладывает только схему или код, кто-то вообще ничего не выкладывает, а рапортует только об успешном подключении. Особо хочется отметить ComputerNerd, который выложил прекрасный пример с небольшим описанием, но для начинающего этого мало.

Данная статья призвана показать, как подключить, настроить и получить тестовое изображение с помощью  небольшой программки на java, что станет превосходной отправной точкой для дальнейших экспериментов.

Читать далее…

Categories: Hard Tags: , , ,