Как стать автором
Обновить

Комментарии 7

Для создания конфигов своей системы, использующей OpenCV, можно использовать встроенный в него сериализатор(работает с YML/XML) для C++, для C и не извращаться со своим бинарным форматом.
&& make && make install

Каждый раз, когда вы делаете make install на пакетном дистрибутиве — бог убывает котёнка.

Опять же, честно говоря, я не совсем понимаю, что именно делает эта команда. Ну собирает. А почему именно такая?

`pkg-config --cflags opencv` — подставляет путь для инклудов через pkgconfig.
`pkg-config --libs opencv` — подставляет название либ для линковки через pkgconfig.
При установке opencv поместила файлик .pc (в моём случае это /usr/lib/pkgconfig/opencv.pc), в котором рассказывается, где находятся заголовочные файлы этой библиотеки, а где сами либы для линковки. Таким образом первое у меня разворачивается в "-I/usr/include/opencv", а второе — в "-lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab", т.е. уже в прямые указания компилятору и линкеру, где искать инклуд-файлы (-Include) и библиотеки (-library), позволяющие разработчику не вбивать всё это руками.
-o `basename test.c .c` — отрезает от test.c часть с расширением (".c"), оставляя только часть имени файла «test», которое будет являться именем выходного (output) собранного исполняемого файла. Т.е. разворачивается это в "-o test".
-ggdb — смотрим в ман (а стоило бы сделать это ещё в начале ;))
-ggdb
Produce debugging information for use by GDB. This means to use the most expressive format available (DWARF 2, stabs, or the native format if neither of those are supported), including GDB extensions if at all possible.

т.е. генерация максимально полной отладочной информации для использовании в отладчике gdb (и включение её в выходной бинарник, например замечены секции .debug_aranges, .debug_info, .debug_abbrev, .debug_line, .debug_str).
Вообще тут было проще написать интуитивно понятный cmake-файл 10 строчный, чем вбивать ткаую строчку в консоль.
Друзья, возможно вам будет полезна следующая идея: в OpenCV есть Retina — она чудесно работает в более-менее темноте, у нее же в свою очередь есть канал, который отслеживает движения. Разработка совершенно великолепная, я на ней писал sleeptracker. Если будут какие-нибудь вопросы или желание пообщаться — пишите в личку.
Есть готовый пример, который можно потыкать?
github.com/albu/retinademo вот базовое демо, совсем каплю подпиленное для моих целей. Собирать или из qtcreator'a или ручками мейкфайл сделать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий