Steve_g
-
Количество публикаций
9 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Steve_g
-
-
Спасибо большое, сейчас попробую)) потом отпишусь!
-
Создал отдельную тему, поскольку название не совсем соответствует смыслу. Библиотека live555 отрабатывает так, что возвращает с камеры jpeg изображение в виде массива байт (unsigned char*). Далее с помощью библиотеки LibJPEG мы раскладываем этот массив на чисто данные unsigned char* data, ширину и высоту - unsigned int width и unsigned int height.
Эти данные мы подаем на вход распознавателя, который ищет некие объекты на изображении. В случае, если они найдены - сохраняет полученное с камеры изображения в векторе. Далее эти изображения анализируются библиотекой cvblobs - вроде дополнение к OpenCV и по последовательно подаваемым фоткам получает блобы - соответствующие контурам двигающихся оъектов. Координаты объектов соответственно мы теперь тоже знаем.
Итак - на выходе. Исходное изображение, координаты областей с объектами!
Теперь предположим, нам нужна ЭЦП на картинку и данные. Как подписать данные - я знаю и сделал. а вот с картинкой не так все просто. Вернее было просто, когда была целая картинка - я подавал на вход функции массив байт (unsigned char* pictureData). Теперь же надо подписывать лишь вот эти куски большой картинки, которые содержат объекты.
Описал проблему - теперь вопрос -
надо как то вырезать из unsigned char* pictureData (jpeg картинка в виде байт-массива) вырезать cvRect (x,y,width,height) где x,y,width & height - величины относительно большой картинки. И привести к опять же виду массива байт - unsigned char*.
Знаю, что ресурсы OpenCV и прилагающихся библиотек практически неисчерпаемы, соответственно я ОЧЕНЬ МНОГО каких функций не знаю - если ЕСТЬ - ПОДСКАЖИТЕ ПОЖАААЛУЙСТА!
Заранее премного благодарен!!
-
AuST - можно, куча специальных функций
Nuzhny - я видимо второпях не посмотрел на число ответов на форуме stаckoverflow - 2летней давности... наверное раз на сайте официальном OpenCV есть - то документировали стало быть...Но в любом случае мы отказались от использования OpenCV...С камерой работаем при помощи библиотеки Live555...из основного приложения тоже наверное выкинем OpenCV, ажаль..я старался разбираться..ну ничего, поможет в будущем))
-
а документированных функций в OPencv нет получается? про Decode нашел уже=) но не то((( надо документированное
-
Существует проблема, связанная с эксплуатацией жесткого диска. На текущий момент в нашем проекте, фотографии с камеры сохраняются в ФС на винте. далее распознаватель обращается к ФС при помощи функции OPenCV cvLoadImage.
Необходимо сделать так, чтобы работа с ФС была полностью исключена, поскольку винт итак эксплуатируется очень сильно! Основная программа работает с библиотекой live555 по работе с камерой, которая собственно и сохраняет картинки в файлы. Есть какая нибудь замена сvLoadImage, которая обращается к файлу, чтобы загружать картинку из памяти? ну или что то в этом роде)
Буду рад любой идее..если что либо непонятно, или написал не собвсем доступно, прошу извинить, в любой момент готов объяснить!
Помогите, чем можете) спасибо!
-
это фотографии, поэтому лучше jpeg, я тоже кстати вначале думал, почему бы png не использовать)
последовательностью кадров не является, именно что фотографии..и их размер надо уменьшить...перевод в ч\б и размытие ненужных частей пока принято на вооружение.. больше пока ничего нет, а завтра уже надо пробовать!! Помогите кто чем может, еще ))
-
ага, спасибо) а больше ничего нельзя? просто надо бы все варианты перепробовать..идет вопрос о передаче большого количества изображений на сервер - надо уменьшить трафик
-
Выскажите, пожалуйста, кто что знает по следующему поводу - с камеры поступает изображение, которое надо сохранить в jpeg, но наименьшего объема...качество д.б. таким , чтобы на изображении можно было распознавать информацию, номера авто и т.д. Какие есть советы по оптимизации? Я вот знаю, что вроде при переводе в ч\б размер уменьшается..а как еще?
Спасибо всем высказавшемся!
Вырезание картинки из картинки
в OpenCV
Опубликовано · Report reply
Прочитал - мое видение такое:
скажите пожалуйста, что не верно я в этом куске говнокода сделал? ибо я не тестировал еще, связи с сервером нет(