Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 13.11.2022
Сообщений: 40

Видеопоток c вебкамеры Java Opencv

13.11.2022, 16:34. Показов 2031. Ответов 15

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите пожалуйста возможно ли получать данные о каждом пикселе в реальный момент времени (уровни r,g,b и координаты пикселя) с видеопотока (640х480), захватываемого с веб камеры , или это в принципе/технически не возможно? Спасибо .
.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2022, 16:34
Ответы с готовыми решениями:

Java и OpenCV
Подскажите как можно исправить ошибку. Не могу скомпилировать, может версии не совпадают код: package cv; import static...

OpenCV for Java
Возникла потребность в использовании распознавания, нашел немного инфы что упростить задачу поможет OpenCV. В общем так понял что проэкт...

Netbeans + OpenCV + linux + java
Народ! я собрал исходники OpenCV получил файл opencv-300.jar (весит 433,8 кб) Подключаю его к проекту в netbeans , в коде проекта пробую...

15
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,636
Записей в блоге: 3
14.11.2022, 00:16
Цитата Сообщение от ktYJlxY Посмотреть сообщение
получать данные о каждом пикселе в реальный момент времени
Что значит в реальный момент времени? Обработать все пиксели текущего изображения в каждый момент (обновления кадра видеопотока)? Можно, но очень затратно. И только через буфер, иначе у тебя комп взорвется.
1
2 / 2 / 0
Регистрация: 13.11.2022
Сообщений: 40
14.11.2022, 00:50  [ТС]
Да. Т.е есть какой то видеопоток с вебкамеры ( пусть будет однотонный фон) 640х480 (30hz частота кадра), в какой то момент времени появляется объект/фигура на короткий момент времени .Вот хотелось бы получить данные о пикселях

Немного не в тему но.
Цитата Сообщение от wizard41 Посмотреть сообщение
Обработать все пиксели текущего изображения в каждый момент (обновления кадра видеопотока)? Можно, но очень затратно.
т.е метод обработки будет обрабатывать пиксели уже на показываемом кадре в
окне? а можно ли не выводя видеопоток с вебкамеры в окне получать через буфер данные пикселей? Т.е те данные которые приходят на комп с вебки(там ведь содержиться инфа о уровенях r.g.b и положении их в кадре), которые передаются пикселям,а уже они строят кадр . Надеюсь мысль передал.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,636
Записей в блоге: 3
15.11.2022, 03:48
ktYJlxY, я конечно имею кое-какие представления об обработке видео-потоков, сжатия, рендеринга и пр.. (ибо все играли в игрушки). Но, тем не менее, не являюсь специалистом в этой области касательно Java.
Считаю, что ты бы, наверное, быстрее нашел ответ на свой вопрос, на более профильных форумах (ветках этого?).
Конкретно здесь обсуждается, обычно, всякий мусор, типа массивов, строк и т.п.
Вообще, если б я полез в эту тему, то для начала, хотя бы изучил основы наработок в этой области типа FXAA или MXAA у ведущих производителей: GeForce, NVidia... etc... Затрачивается хренова туча денег, вшиваются планки DDR5-6, графические процессоры... А ты тут на JVM собрался в реальном времени отлавливать появление мухи...
1
Модератор
Эксперт Java
 Аватар для alecss131
2880 / 1384 / 411
Регистрация: 11.08.2017
Сообщений: 4,413
Записей в блоге: 2
15.11.2022, 10:09
wizard41, помню у меня друг писал на Opencv (правда на С++) детектор медицинских масок на лице, правда подключал еще и нейросети (есть такой функционал) и все это работало на видео в реальном времени.
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,636
Записей в блоге: 3
15.11.2022, 13:26
alecss131, а я разве сказал что это невозможно? ) Конечно можно, да и на любых ЯП.
Но у ТС следующие требования:
Цитата Сообщение от ktYJlxY Посмотреть сообщение
данные о каждом пикселе в реальный момент времени
640 * 480 * 30 = 9 216 000 точек в секунду... Инфо о каждом? Хмм...
Цитата Сообщение от alecss131 Посмотреть сообщение
детектор медицинских масок на лице
Если человек в маске появится в видео лишь на 3-5 кадрах - программа сможет его распознать? Вопрос... Т.е. для анализа все равно требуется некоторое время.
0
Модератор
Эксперт Java
 Аватар для alecss131
2880 / 1384 / 411
Регистрация: 11.08.2017
Сообщений: 4,413
Записей в блоге: 2
15.11.2022, 13:45
wizard41, Ну каждый пиксель да, нужны мощности приличные, но вот найти человека в маске или без маски все работало в реальном времени, может задержка небольшая, но там было что при нахождении человека без маски его фото добавлялось в базу данных, а тут достаточно и 1 кадра. Это было еще во времена ковида и обязательных масок.
И повторюсь обработка нейросетями, они быстрее будут работать. К opencv можно подключить для распознавания натренированную нейросеть, правда количество понимаемых форматов не так много и не самые распространенные.
Если ТСу надо искать предметы в реальном времени то посоветую копнуть в связку opencv и нейросети.
Единственное не уверен что на джаве может не хватить производительности, так как либа используется через jni, а оно ест ресурсы.
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,636
Записей в блоге: 3
15.11.2022, 13:56
alecss131, ну так то да, просто я говорю за саму реализацию без нейросетей.
Вообще, на самом деле анализ обычно происходит буферизованных данных, т.к. кадры могут меняться очень быстро и алгоритм просто не успеет обработать все. Да и маска занимает явно не 1 пиксель - это большое пятно, которое не так уж сложно найти.
Цитата Сообщение от alecss131 Посмотреть сообщение
не уверен что на джаве
Вот я тоже сомневаюсь..
0
2 / 2 / 0
Регистрация: 13.11.2022
Сообщений: 40
15.11.2022, 15:00  [ТС]
Вся затея ради экспериментов с комп.зрением +ии для фиксации объектов на экране . Но "посшибав верхушки" в статьях по распознаванию предметов не понравился принцип работы алгоритма , для примера если ищем /находим лицо в камере ,поворачиваем его на 30⁰ и оно перестаёт распознаваться это первое что пришло на ум , ну и сам принцип поиска лица с помощью ч/б прямоугольников (примитивы хаара) и ему подобные по которым идёт распознавание как то ограничивает... наверно я сильно много хочу, но хочется поэкспериментировать . Начал с вебки, копаюсь с пикселями пока .. представления слабые но слышал про то что программы можно запускать через gpu, это как раз подходящий вариант скорей всего
0
Модератор
Эксперт Java
 Аватар для alecss131
2880 / 1384 / 411
Регистрация: 11.08.2017
Сообщений: 4,413
Записей в блоге: 2
15.11.2022, 15:10
Цитата Сообщение от ktYJlxY Посмотреть сообщение
слышал про то что программы можно запускать через gpu
не целиком а их части, причем писать надо на спец языках, и там узкое горло это передача данных на видеокарту
причем вся "мощь" gpu в многопотоке, можно запускать параллельно множество однотипных математических расчетов
0
2 / 2 / 0
Регистрация: 13.11.2022
Сообщений: 40
16.11.2022, 21:39  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
Цитата Сообщение от alecss131 Посмотреть сообщение
не уверен что на джаве
Вот я тоже сомневаюсь..
C++ ?
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,636
Записей в блоге: 3
16.11.2022, 21:41
Цитата Сообщение от ktYJlxY Посмотреть сообщение
C++ ?
как вариант. Он более "низкоуровневый".
0
Модератор
Эксперт Java
 Аватар для alecss131
2880 / 1384 / 411
Регистрация: 11.08.2017
Сообщений: 4,413
Записей в блоге: 2
16.11.2022, 23:33
Хотя люди и на питоне используют opencv, а нейросети так вообще монополия питона, на плюсы фиг что найдешь. Так что стоит попробовать джаву и только если не будет устраивать производительность менять язык.
Цитата Сообщение от wizard41 Посмотреть сообщение
Он более "низкоуровневый".
Я бы не назвал его низкоуровневым, просто он сложнее и опаснее, он не следит за пользователем и позволяет легко "отстрелить себе ногу"
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,636
Записей в блоге: 3
17.11.2022, 00:41
Цитата Сообщение от alecss131 Посмотреть сообщение
Я бы не назвал его низкоуровневым
Именно поэтому я обрамил это слово в кавычки, дабы не искать эпитетов. Он более гибкий, так скажем, ну и на самом деле - возможностей манипулирования (с точки зрения ассемблера) в нем больше, чем в любых иных языках. Один только inline чего стоит..

Добавлено через 39 минут
alecss131, немного дополню свое высказывание.
Java и C# развивались практически одновременно с самого начала, причем Java более пародировала шарп, который является прямым наследником C++, и развился этот ЯП именно из него, путем внедрения фреймворков с инструкциями-обертками.
Один только этот факт говорит за то, что C++ более "lowlevel" относительно своего потомка.
Идем дальше: С++ вообще появился из C, который еще более прямолинеен. Но, даже в них иногда встречаются asm-вставки, т.к. разные компиляторы по разному интерпретируют ту или иную конструкцию. По итогу, одна и таже функция, написанная на разных ЯП, а тем более, компилированная разными компиллами - выглядит в памяти по разному, да и с разным объемом.
Методы и скорости доступа тоже могут отличаться в разы.
Java работает вообще из под JVM, которая тоже "висит" в памяти. Т.е. вместо прямого обращения, как это делает тот же C++, мы получим переброс (читай конвертирование) одного участка памяти в другое. Какими бы неслыханными скоростями доступа не обладала некая система, в случае с JVM все равно получается увеличение времени до вывода результата, т.к. проходится более длинный путь.
На сегодняшний день, ничего более оптимального по скорости выполнения кода (на Windows станциях) чем С++/С я не встречал. Да, пишется трудно, косо, с подвывертами... Но интерпретируется в машинный исполняемый код лучше всех.

Добавлено через 10 минут
Этим я не говорю, что Java плох в чем-то. Я говорю о том, что если что-то на Java работает хорошо, то непременно будет работать еще лучше (оптимальнее) на ЯП более низкого уровня (языках прародителей). Конкретно с обработкой видео на Java я не встречался, нет такого опыта. Высказываю лишь некоторые догмы, на основании семантического анализа, так скажем.
0
Модератор
Эксперт Java
 Аватар для alecss131
2880 / 1384 / 411
Регистрация: 11.08.2017
Сообщений: 4,413
Записей в блоге: 2
17.11.2022, 10:55
Цитата Сообщение от wizard41 Посмотреть сообщение
причем Java более пародировала шарп, который является прямым наследником C++
Вот с этим категорически не согласен. Шарп мог быть Java++ и мелкомягкие изначально джаву любили и изза споров с саном (изза кросплатформенности) потом начали создавать свою джаву под названием шарпа с кучей доработок старой джавы. А к плюсам шарп не имеет никакого отношения, он си подобный как и джава, не более. Стоит изучить историю языков.
Цитата Сообщение от wizard41 Посмотреть сообщение
даже в них иногда встречаются asm-вставки
В х64 коде асм вставки запрещены, по крайней мере на msvc и clang компиляторах.
А чистый Си так это вообще по сути ассемблер с человеческим синтаксисом.
Цитата Сообщение от wizard41 Посмотреть сообщение
Да, пишется трудно, косо, с подвывертами...
Как плюсовик с этим не согласен.

Не хочу спорить и начинать холивар.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,636
Записей в блоге: 3
17.11.2022, 12:41
Цитата Сообщение от alecss131 Посмотреть сообщение
Как плюсовик с этим не согласен.
трудно-косо - это я имел в виду для НЕ плюсовиков.
Цитата Сообщение от alecss131 Посмотреть сообщение
А к плюсам шарп не имеет никакого отношения, он си подобный как и джава, не более.
Хмм... Ну нам почему то именно так преподносили в универе.
Ладно, действительно оставим тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2022, 12:41
Помогаю со студенческими работами здесь

Видеопоток с вебкамеры
Здравствуйте) не уверен здесь ли нужно было создавать тему, но народ в этом разделе, я думаю, более чем осведомлен во многих процессах не...

qt и opencv захват видео с вебкамеры
при захвате выдаёт такую ошибку вот код #include "opencv2/highgui/highgui.hpp" #include "opencv2/video/tracking.hpp" ...

Фото с вебкамеры не используя opencv
Здравствуйте, мне нужно сделать скриншот с камеры и сохранить его. Нашел много примеров, но все с opencv

Java + OpenCV
Я начинаю изучать опенсиви под жабу, и у меня, вследствие недостатка всякой литературы, возникает вопросы: 1)где взять литературу по...

Использование библиотеки OpenCV в Java
Уточните у кого есть опыт: Как можно получить изображение с IP камеры в метод VideoCapture() ксласса cv::VideoCapture Class Reference...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru