LINUX.ORG.RU

12
Всего сообщений: 84

OpenCV шумы

День добрый, хочу убрать шум из этого видео https://drive.google.com/file/d/0B7W83fTVs1M9SmJWZ3BrQk5RalU/view решил использовать фильтр ранжирующий, где можно реализацию найти или если это не верное решение, то какое решение будет лучше?

 ,

asala1234 ()

Переделать с С++ на C#

Необходимо выполнить сегментацию водоразделом для дальнейшей работы. Нашла на openCv, но не до конца получается преобразовать в OpenCvSharp. Не обязательно выделение объектов разными цветами и их подсчет. Буду рада, если поможете. Вот сайт, с которого брала код https://github.com/andreyf/opencv_tutorials/blob/master/watershed_and_distanc...

Подскажите пожалуйста, уже руки опускаются. Проблема именно с аргументами некоторых функций. Вот что сделала, дальше не получается. Может кто знает как переделать дальше? или что исправить

            var filename = "1.bmp";//Загрузка изображения
            var img0 = Cv.LoadImage(filename))
            IplImage bw = null;
            bw = new IplImage(img0.Size, BitDepth.U8, 1);
            img0.CvtColor(bw, ColorConversion.RgbToGray);
            Cv.Threshold(bw, bw, 40, 255, ThresholdType.Binary);
            CvMat dist = null;
            Cv.DistTransform(bw, dist, DistanceType.L2, 3);
            Cv.Normalize(dist, dist, 0, 1, NormType.MinMax);
            Cv.Threshold(dist, dist, .5, 1, ThresholdType.Binary);
            CvMat dist_8u = null;
            dist.Convert(dist_8u, ????);
                // Find total markers
            CvMemStorage storage = new CvMemStorage();
            CvSeq<CvPoint> contours = null;
            int contoursCont = Cv.FindContours(dist_8u, storage, out contours, CvContour.SizeOf, ContourRetrieval.External, ContourChain.ApproxSimple, Cv.Point(0, 0));

 ,

xoma5555 ()

python 2.7 opencv 3.2 rtsp

Подскажите opencv 3.2 умеет захватывать видео из rtsp/rtp потока? или ему нужно в каком то пережеванном формате отдавать через gst или ffmpeg?

 , ,

antech ()

opencv+rtsp+h264=fail

Всем привет!

Пытаюсь проиграть видео с IP-камеры, которая вещает по rtsp в h264-кодировке и при любом движении в кадре получается очень много артефактов, что совсем не разобрать содержимое видео. Пробовались версии:

ffmpeg 3.0 (дефолтная сборка в убунте), 3.2.3 (самосборная);

opencv 3.2.0 (самосбор с гитхаба)

QT 5.8.0/g++ 6.0 для компиляции исходников вывода видео.

Примечательно, что ffmpeg -rtsp_transport tcp и vlc адекватно отрабатывают, а VideoCapture - так, как будто бы по udp идет вещание (что и подтвердил iptraf). Проверил исходники opencv 3.2.0 - там флаг rtsp_transport выставляется, но где-то дальше по коду игнорируется.

Тащить за собой libvlc чисто из-за того, что в ней удобная обертка над libavformat для работы с rtsp уж совсем не хочется, при том, что сам ffmpeg не использует libvlc и все равно правильно работает.

К сожалению, в инете патчей к opencv не нашел и все советы сходились на использовании libvlc.

Ах да, открывается устройство вот так:

cv::VideoCapture* cap = new cv::VideoCapture( "rtsp://<IP:port>/PSIA/Streaming/channels/2?videoCodecType=H.264" )

Может, кто-то уже сталкивался с этим багом и в курсе, как его можно побороть?

 , , , ,

aido ()

Разработчик в области компьютерного зрения на удаленную основу

Мы - узкоспециализированная компания по разработке сложного программного обеспечения для зарубежных заказчиков. Требуются знания в области: Обработка изображений и видео, компьютерное зрение, распознавание текста, символов и объектов Опыт работы с OpenCV и другими системами/модулями по обработке видео Знание и/или опыт программирования различных алгоритмов ​Опыт программирование на Python, С++ или Java Задачи: Проекты по анализу и интеллектуальной обработке видео Обработка трансляций спортивных матчей с последующим извлечением и анализом игровых ситуаций, подсчёта очков, ведения статистики и т.д. Разработка и реализация различных алгоритмов модификации видео и изображений (imprinting, PTAM, alternate reality и т.д.) Разработка и реализация прикладных алгоритмов по подсчету, измерению, взвешиванию, выделению, слежением и сегментации различных объектов на видео Условия: Работа удаленная Готовы обсудить варианты с частичной занятостью Почасовая ставка от 600 рублей в час Очень сильная команда разработки с опытом работы в Яндекс Дружеская позитивная атмосфера

Ждем Ваше резюме на lina@mediterra-soft.com

 , , ,

Mediterra-soft ()

opencv для маленьких

хочу задетектить и убрать табличку, считай линии дропнуть.

http://docs.opencv.org/3.1.0/d1/dee/tutorial_moprh_lines_detection.html --- основное чтиво по теме.

ну что, переношу 1:1, но у них линия выделается как линия, а у меня для маски выделяются две области, сверху интересующей меня линии и снизу. как так?

портянка:

        Mat bw = new Mat();
        adaptiveThreshold (gray, bw, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);

        Mat horizontal = bw.clone();

        int hScale = 4; // for experimant, start: 15
        int horSize = horizontal.cols() / hScale;

        Mat horStruct = getStructuringElement(MORPH_RECT, new Size (horSize, 1));

        erode(horizontal, horizontal, horStruct, new Point(-1, -1), 1);
        dilate(horizontal, horizontal, horStruct, new Point(-1, -1), 1);


//        Core.bitwise_not(horizontal, horizontal);
        imwrite ("horizontal.png", horizontal);

http://imgur.com/5USNksP --- выхлоп. хотя сама табличка внутри, между выделенными белыми областями :(

 ,

Rastafarra ()

VideoCapture из буффера

Добрый день!

Программа принимает по сети (via WebSocket) видеоролик, допустим это vp8, соответственно у меня есть некоторая память, которая его содержит. Предположим это std::vector<uint8_t> video.

Как скормить это OpenCV? Может использовать что-то стороннее,бить на кадры и делать из них cv::Mat?

 , , ,

BruteForce ()

Управление жестами в Linux

Всем доброго времени суток.
Есть ли под онтопик системы управления жестами?
Появилось желание написать небольшую програмку для управления ПК на некотором расстояние. В функционал хочется внести управление громкостью, навигация по медиа контенту, быстрая блокировка экрана и т.д.
Существуют ли подобные системы реализованные?
Если соберусь делать, то хочу сделать распознание основыных жестов на C++, а логику реагирования и составные команды прописывать на Lua. Мне кажется что при такой связке получится сделать гибкий инструмент.

 ,

Ramzes001 ()

Распознавание автомобильных номеров

Поскольку вопрос по распознаванию автомобильных номеров периодически всплывает, а open source вариантов у нас все еще нет, решил поделится написанной (и сложенной в чулан) распознавалкой.

Брать тут https://bitbucket.org/neird/alpr.git. Автор ответственности не несет и все такое.

Система была написана для целей логирования номерных знаков на пропусных пунктах парковок. Код стоит рассматривать как тестовый прототип заслуживающий переписывания. Тем не менее он рабочий и давал точность расспознавания на тестовом датасете (нет не поделюсь) порядка 90-95% (по схеме правильно/неправильно).

 ,

neird ()

Senior C++ Tools Developer (Киев)

Компания PETCUBE, которая занимается разработкой одноименного гаджета для домашних животных (алюминиевый куб с встроенной широкоугольной камерой, микрофоном, динамиком и лазерной указкой), ищет в свою firmware команду опытного C++ Tools разработчика, обязанностями которого будет:

  • написание специализированного кросс-платформенного (Windows, Linux, в дальнейшем и MacOS) ПО для внутренних нужд команды (тестирование гаджетов на производстве, новые сборки прошивок на устройствах и их автоматизированная система тестирования);
  • поддержка системы сборки билдов.

Софт должен будет взаимодействовать с сервером и работать с изображением, звуком, определять различные движения, качество камер в каждом устройстве.

На данный момент компания имеет 25+ сотрудников, есть центр разработки в Киеве, офисы в Сан-Франциско и Шэньчжэне (производство).

Необходимые навыки:

  • 4+ года опыта разработки коммерческих десктопных приложений;
  • Отличный опыт разработки на C++, желательно также знание C#;
  • Хорошее знание QT, GUI, сетевого программирования;
  • Опыт с WinAPI, POSIX API;
  • Знание OpenCV или других «computer vision» библиотек;
  • Отличные коммуникативные навыки и опыт работы в команде;
  • Готовность к командировкам в Китай (производство) в случае необходимости.

Будет плюсом:

  • Опыт участия в медиа-проектах (аудио/видео декодирования/кодирования);
  • OpenGL; DirectX; нейронные сети, DSP, SCADA.

Из соц.пакета:

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

Всем, кому интересно, пишите или присылайте резюме на английском.

  • E-mail: anastasia@venbesthire.com.ua.
  • Skype: Anastasiya_dem

 , , , ,

anastasiad ()

Не выходит получить видеопоток по протоколу rtsp

OS: Gentoo

VIDEO: intell

Вот, что выдает команда gst-launch-1.0 playbin uri=rtsp://x.x.x.x:554/live/ch00_0 -vvv

libva info: VA-API version 0.39.2
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/va/drivers/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0

** (gst-launch-1.0:4271): CRITICAL **: gst_vaapi_video_context_get_display: assertion 'GST_IS_CONTEXT (context)' failed

(gst-launch-1.0:4271): GStreamer-CRITICAL **: gst_context_get_context_type: assertion 'GST_IS_CONTEXT (context)' failed

(gst-launch-1.0:4271): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed

(gst-launch-1.0:4271): GStreamer-CRITICAL **: gst_context_get_context_type: assertion 'GST_IS_CONTEXT (context)' failed
Caught SIGSEGV

vlc тоже не открывает поток.

В пайтоне пытаюсь сделать cv2.VideoCapture('rtsp://x.x.x.x:564/live/ch00_0');

Получаю:

GStreamer Plugin: Embedded video playback halted; module source reported: Could not open resource for reading and writing.
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline
) in cvCaptureFromCAM_GStreamer, file /var/tmp/portage/portage/media-libs/opencv-3.1.0-r4/work/opencv-3.1.0/modules/videoio/src/cap_gstreamer.cpp, line 818

Что я неправильно делаю?

 , , ,

panter_dsd ()

Сборка проекта под Ubuntu 15.10 и исправление зависимостей

Здравствуйте! Необходима небольшая консультация. Есть самописный проект на Qt, использующий OpenCV и системные библиотеки (прежде всего, X11 и libpthread). Предварительно был скачан и установлен Cmake-ом OpenCV 2.4.9 (не с официального репозитория Ubuntu (libopencv-dev) ). Далее, возникла необходимость собрать в .deb пакет приложение для загрузки на PPA. Сейчас есть две версии приложения: одна с собранными библиотеками opencv через cmake, другая - с библиотеками libopencv-dev. По первому варианту, не совсем понятно, как добавить в зависимости приложения собранные Cmake-ом библиотеки. (По принципу, как в Windows - просто добавить DLL в директорию с проектом, я так понимаю, работать не будет). По второму варианту - при статической линковке, линкер ругается на отсутствующие .so файлы (на x11).

.pro файл, из которого затем генерируется Makefile. Почему не использовался CMakeLists.txt, отвечу, что пока что трудности с синтаксисом CMake.

  CONFIG(release){
#LIBS += /home/ubuntu/Software/opencv/opencv-release/lib/libopencv_core.so.2.4.9
#LIBS += /home/ubuntu/Software/opencv/opencv-release/lib/libopencv_imgproc.so.2.4.9
#LIBS += /home/ubuntu/Software/opencv/opencv-release/lib/libopencv_highgui.so.2.4.9
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libopencv_core.a
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libopencv_imgproc.a
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libopencv_highgui.a
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libgstreamer-0.10.a
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libXxf86vm.a
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libv4l2.a
LIBS +=  -L/usr/lib/x86_64-linux-gnu/libv4l1.a
}

QMAKE_LFLAGS += -lXxf86vm -lXext -lX11 -lXext 

  • ошибка: mainwindow.o: undefined reference to symbol 'XOpenDisplay'
  • /usr/lib/x86_64-linux-gnu/libX11.so:-1: ошибка: error adding symbols: DSO missing from command line
  • :-1: ошибка: collect2: error: ld returned 1 exit status

Поскольку это мой первый более-менее серьезный проект под Linux, прошу отнестись с пониманием.

 , , ,

N00bie ()

C/C++ программист/Разработчик видео-приложений Мск от 170тр Net +

Российская компания, мировой лидер в области разработки высокотехнологичного ПО операторского класса для обработки и передачи широкополосной речи, видео и данных в сетях с пакетной коммутацией приглашает в штат C/C++ программиста/Разработчик видео-приложений Мск от 170тр Net +

Обязанности:

  • Обработка цифровых изображений, их сегментация, кодирование видео, детектирование лица, выделение характерных элементов изображения, компьютерное зрение.

Требования

  • Высшее техническое образование;
  • Опыт разработки на приложений на C/C++;
  • Опыт в обработке и распознавании изображений, компьютерной графике;
  • Опыт использования библиотек (OpenCV и др.);
  • Опыт кросс платформенной разработки (целевые платформы: Windows, Linux, MacOS, iOS, Android; x86, x64, arm).

Условия найма:

  • З\п до 170.000 Net и выше (обсуждается с успешным соискателем). Доплата за питание 3 000 руб.
  • Удобный комфортабельный красивый современный офис в районе м.Павелецкая/Пролетарская
  • Гибкий график работы для сотрудников (с 9-12 до 18-22.30), свободный график обеда, можно выбрать любое время в течение рабочего дня (кроме столовой рядом с офисом имеется много всяких кафе и пр.)
  • Отпуск 28 календарных дней,
  • ДМС включая стоматологию
  • Профессиональный коллектив, сложные развивающие задачи, причастность к созданию продукта, востребованного на глобальном рынке, демократичная атмосфера

------------------------------

  • Svetlana Skorikova
  • Leading Specialist Recruitment
  • email skorikova.sv@gmail.com
  • mob. 8 (929) 6193605

 , , ,

Svet2010 ()

Principal Software Engineer @ Petcube (Kiev R&D center)

Всем привет!

Компания Petcube, создатель одноименного гаджета для домашних животных ищет ведущего С++ разработчика для работы над критически важным аспектом - firmware / embedded OS layer .

Роль ведущего разработчика предполагает как самостоятельную работу, так и управление командой разработчиков, а также прямое подчинение Head of Hardware и СТО компании.

Ждем от Вас:

  • высшего технического образования и/или релевантного коммерческого опыта работы;
  • экспертных знаний OOP/OOD и С++;
  • опыта работы с встраиваемыми системами на базе архитектуры ARM;
  • понимания процесса стриминга видео/аудио и их дальнейшей обработки;
  • глубоких знаний Linux (преимущественно C/C++ upper POSIX в пользовательском режиме и опыт разработки ядра);
  • высокого уровня мотивации, самоорганизованности и ответственности, готовности работать в условиях динамичной «живой» разработки.

Расценим как плюс:

  • опыт работы с любыми библиотеками компьютерного зрения (OpenCV в приоритете);
  • опыт bare metal разработки, знания основ схемотехники;

Что нужно делать:

  • разрабатывать новый функционал;
  • поддерживать существующий код (Petcube 1.0);
  • составлять техническую документацию;
  • в случае необходимости ездить в Китай (за счет компании) для контроля и поддержки процесса производства;
  • тестировать и устранять ошибки и неполадки на уровне firmware и hardware;
  • технически наставлять и помогать менее опытным разработчикам, управлять командой;

Что можем предложить:

  • дружную и талантливую команду разработчиков;
  • интересные сложные задачи, карьерный рост;
  • возможность посещать лучшие конференции в Штатах, обучающие курсы и обеспечение всем необходимым для профессионального роста и развития;
  • уютный современный офис в исторической части Киева (Подол);
  • гибкий график работы;
  • оплату всех необходимых налогов и своевременную оплату труда c привязкой к актуальному межбанковскому курсу USD;
  • помощь и оплату расходов связанных с переездом в Киев из других городов/стран;

Предвидя вопрос о рамках зп, ответственно заявляю, что мы рассмотрим всех релевантных по опыту и навыкам кандидатов с их пожеланиями.

С радостью отвечу на все интересующие вопросы и пообщаюсь тут или:

по почте - lily@venbesthire.com.ua

в скайпе - lichyan1989;

 , , , ,

lichyan1989 ()

Senior C++ Tools Developer

Компания PETCUBE, которая занимается разработкой одноименного гаджета для домашних животных (алюминиевый куб с встроенной широкоугольной камерой, микрофоном, динамиком и лазерной указкой), ищет в свою firmware команду опытного C++ Tools разработчика, обязанностями которого будет:

  • написание специализированного кросс-платформенного (Windows, Linux, в дальнейшем и MacOS) ПО для внутренних нужд команды (тестирование гаджетов на производстве, новые сборки прошивок на устройствах и их автоматизированная система тестирования);
  • поддержка системы сборки билдов.

Софт должен будет взаимодействовать с сервером и работать с изображением, звуком, определять различные движения, качество камер в каждом устройстве.

На данный момент компания имеет 25+ сотрудников, есть центр разработки в Киеве, офисы в Сан-Франциско и Шэньчжэне (производство).

Необходимые навыки:

  • 4+ года опыта разработки коммерческих десктопных приложений;
  • Отличный опыт разработки на C++, желательно также знание C#;
  • Хорошее знание QT, GUI, сетевого программирования;
  • Опыт с WinAPI, POSIX API;
  • Знание OpenCV или других «computer vision» библиотек;
  • Отличные коммуникативные навыки и опыт работы в команде;
  • Готовность к командировкам в Китай (производство) в случае необходимости.

Будет плюсом:

  • Опыт участия в медиа-проектах (аудио/видео декодирования/кодирования);
  • OpenGL; DirectX; нейронные сети, и т.п.

Из соц.пакета:

  • очень дружный коллектив и печеньки;
  • хорошие карьерные перспективы (интересные сложные задачи, карьерный рост, пересмотр зп);
  • уютный офис в центре Киева (Подол);
  • гибкий график;
  • уровень ЗП готовы обсуждать, будет во многом зависеть от Ваших пожеланий и уровня квалификации;

Всем, кому интересно, пишите или присылайте резюме на Английском.

  • E-mail: anastasia@venbesthire.com.ua.
  • Skype: Anastasiya_dem

 , , , ,

anastasiad ()

Распознавание положение шарика

Здравствуйте. Можете, пожалуйста, объяснить мне алгоритм распознавание шарика для пинг-понга (белого цвета) на плоскости темного цвета с помощью библиотеки OpenCV (еще бы было хорошо услышать как сделать так, чтобы возвращало позицию шарика на этой плоскости - но это уже нагло просить:) или дать толковую ссылку где это можно почитать. Заранее спасибо)

 

swfvova ()

Каким классом из Qt удобнее делать сетку с узлами.

Всем доброго времени суток.
Появилась у меня задача вывести сетку поверх картинки, что бы узлы можно было перетягивать мышью.
Пример хорошо показан здесь картинка.
Как реализовать деформацию картинки я ещё могу понять, а вот как лучше на Qt реализовать сетку поверх неё, я не знаю.
Естественно необходимо получать информацию о координате перетаскивания.
Всем заранее спасибо за советы.

 , ,

Ramzes001 ()

OpenCV - undefined reference

CMakeFiles/objdetect.dir/objdetect.cpp.o: In function `detectAndDisplay(cv::Mat)':
objdetect.cpp:(.text+0x7ca): undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
CMakeFiles/objdetect.dir/objdetect.cpp.o: In function `main':
objdetect.cpp:(.text.startup+0x193): undefined reference to `cv::gpu::CascadeClassifier_GPU::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
objdetect.cpp:(.text.startup+0x1a2): undefined reference to `cv::gpu::CascadeClassifier_GPU::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
objdetect.cpp:(.text.startup+0x1c6): undefined reference to `cv::VideoCapture::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

Все библиотеки opencv я подключил (и перепробовал в различных комбинациях), в особенности opencv_gpu и opencv_highgui.

Что я делаю не так?

OpenCV собранный из гита, из ветки 2.4.

Если я линкуюсь к библиотекам установленного в убунте opencv, то всё собирается. Если я собираю примеры из самого opencv, то они тоже собираются. Но почему-то у меня с такими же точно опциями сборки (я смотрел make VERBOSE=1) не собирается.

То ли лыжи не едут... то ли второе.

 , ,

invy ()

Написать программу с использованием opencv

Задание следующее:составить программу которая находит деформированный бар код на изображении и убирает деформацию. Это РГР для одного из курсов в университете.В программировании не силён,хотя и понимаю что задача не столь сложная.Кто готов взяться обсудим цену и сроки,пишите на почту bigwow70@yandex.ru Всем добра.

 

bigwow ()

OpenCV и hardware codec

Собственно, хочется завести аппаратный кодек на Exynos4 так, чтобы его использовала OpenCV. Сразу скажу, что речь идёт о Linux, а не Android.

Мне известно, что:

OpenCV использует libAV

OpenCV использует libJPEG

Для кодека Exynos4 (MFC5.1) есть V4L2 драйвер

Для JPEG кодека (FIMC, если не ошибаюсь) тоже есть V4L2 драйвер

Поиском я наткнулся на OpenMAX, V4L2, VA API. Но я не могу понять, что из этого является аналогами, а что звеньями в одной цепи.

Опять же, libAV и libJPEG умеют аппаратное усокорение?

ИМХО, я бы возложил все функции на V4L2 драйвер. Унифицировал бы вызовы к ним и позволил бы библиотекам декодирования спрашивать об их (железок) возможностях. Но как сделано на самом деле, я пока понятия не имею.

 , ,

WOLF ()