2 / 2 / 0
Регистрация: 13.11.2022
Сообщений: 40

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

13.11.2022, 16:34. Показов 2054. Ответов 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
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,686
Записей в блоге: 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
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,686
Записей в блоге: 3
15.11.2022, 03:48
ktYJlxY, я конечно имею кое-какие представления об обработке видео-потоков, сжатия, рендеринга и пр.. (ибо все играли в игрушки). Но, тем не менее, не являюсь специалистом в этой области касательно Java.
Считаю, что ты бы, наверное, быстрее нашел ответ на свой вопрос, на более профильных форумах (ветках этого?).
Конкретно здесь обсуждается, обычно, всякий мусор, типа массивов, строк и т.п.
Вообще, если б я полез в эту тему, то для начала, хотя бы изучил основы наработок в этой области типа FXAA или MXAA у ведущих производителей: GeForce, NVidia... etc... Затрачивается хренова туча денег, вшиваются планки DDR5-6, графические процессоры... А ты тут на JVM собрался в реальном времени отлавливать появление мухи...
1
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,434
Записей в блоге: 2
15.11.2022, 10:09
wizard41, помню у меня друг писал на Opencv (правда на С++) детектор медицинских масок на лице, правда подключал еще и нейросети (есть такой функционал) и все это работало на видео в реальном времени.
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,686
Записей в блоге: 3
15.11.2022, 13:26
alecss131, а я разве сказал что это невозможно? ) Конечно можно, да и на любых ЯП.
Но у ТС следующие требования:
Цитата Сообщение от ktYJlxY Посмотреть сообщение
данные о каждом пикселе в реальный момент времени
640 * 480 * 30 = 9 216 000 точек в секунду... Инфо о каждом? Хмм...
Цитата Сообщение от alecss131 Посмотреть сообщение
детектор медицинских масок на лице
Если человек в маске появится в видео лишь на 3-5 кадрах - программа сможет его распознать? Вопрос... Т.е. для анализа все равно требуется некоторое время.
0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,434
Записей в блоге: 2
15.11.2022, 13:45
wizard41, Ну каждый пиксель да, нужны мощности приличные, но вот найти человека в маске или без маски все работало в реальном времени, может задержка небольшая, но там было что при нахождении человека без маски его фото добавлялось в базу данных, а тут достаточно и 1 кадра. Это было еще во времена ковида и обязательных масок.
И повторюсь обработка нейросетями, они быстрее будут работать. К opencv можно подключить для распознавания натренированную нейросеть, правда количество понимаемых форматов не так много и не самые распространенные.
Если ТСу надо искать предметы в реальном времени то посоветую копнуть в связку opencv и нейросети.
Единственное не уверен что на джаве может не хватить производительности, так как либа используется через jni, а оно ест ресурсы.
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,686
Записей в блоге: 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
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,434
Записей в блоге: 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
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,686
Записей в блоге: 3
16.11.2022, 21:41
Цитата Сообщение от ktYJlxY Посмотреть сообщение
C++ ?
как вариант. Он более "низкоуровневый".
0
Модератор
Эксперт Java
 Аватар для alecss131
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,434
Записей в блоге: 2
16.11.2022, 23:33
Хотя люди и на питоне используют opencv, а нейросети так вообще монополия питона, на плюсы фиг что найдешь. Так что стоит попробовать джаву и только если не будет устраивать производительность менять язык.
Цитата Сообщение от wizard41 Посмотреть сообщение
Он более "низкоуровневый".
Я бы не назвал его низкоуровневым, просто он сложнее и опаснее, он не следит за пользователем и позволяет легко "отстрелить себе ногу"
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,686
Записей в блоге: 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
2881 / 1387 / 411
Регистрация: 11.08.2017
Сообщений: 4,434
Записей в блоге: 2
17.11.2022, 10:55
Цитата Сообщение от wizard41 Посмотреть сообщение
причем Java более пародировала шарп, который является прямым наследником C++
Вот с этим категорически не согласен. Шарп мог быть Java++ и мелкомягкие изначально джаву любили и изза споров с саном (изза кросплатформенности) потом начали создавать свою джаву под названием шарпа с кучей доработок старой джавы. А к плюсам шарп не имеет никакого отношения, он си подобный как и джава, не более. Стоит изучить историю языков.
Цитата Сообщение от wizard41 Посмотреть сообщение
даже в них иногда встречаются asm-вставки
В х64 коде асм вставки запрещены, по крайней мере на msvc и clang компиляторах.
А чистый Си так это вообще по сути ассемблер с человеческим синтаксисом.
Цитата Сообщение от wizard41 Посмотреть сообщение
Да, пишется трудно, косо, с подвывертами...
Как плюсовик с этим не согласен.

Не хочу спорить и начинать холивар.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3439 / 2759 / 575
Регистрация: 04.09.2018
Сообщений: 8,686
Записей в блоге: 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 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru