roboforum.ru

Технический форум по робототехнике.

OpenCV - решение проблемы с установкой под Unix/Linux'ом

Re: OpenCV - решение проблемы с установкой под Unix/Linux'ом

=DeaD= » 30 мар 2009, 21:35

realsystem писал(а):Да пока не определился в какую сторону смотреть. Просто спортивный интерес. На роботе комп ведь с камерой будет, почему бы и нет. Читал они там очень хорошо жесты определяют, может затолкать в робота.

Вопрос еще будет в том, как это дальше использовать. Вот допустим мы умеем обнаруживать жесты и лица на кадре - а дальше? Как всё это завернуть, чтобы была какая-то осмысленная деятельность? Или хотя-бы хороший такой FUN?

realsystem писал(а):Есть результаты? На чем остановился?

На том, что понял, что пока некуда будет применить, а хотелось бы именно массового применения в реальной робототехнике, поэтому сейчас занимаюсь проектом Open Robotics, а не техническим зрением. Но очень надеюсь в ближайшие полгода вернуться в тему технического зрения, но уже на повторяемой платформе, чтобы со мной к этой теме смогли присоединиться десятка 2 людей, а не уткнулись в отсутствие или раздробленность платформ и модулей или в космическую их стоимость :)

Re: OpenCV - решение проблемы с установкой под Unix/Linux'ом

Vooon » 31 мар 2009, 08:41

Хотел еще вчера запостить, но инет отвалился.
Вот арчевский скрипт сборки пакета:

PGKBUILD
Код: Выделить всёРазвернуть
# Contributor: Kirt Lillywhite [kirt.lillywhite@gmail.com]
# Contributor: Artyom Smirnov <smirnoffjr@gmail.com>     

pkgname=opencv
pkgver=1.1pre1
pkgrel=2     
pkgdesc="Collection of algorithms, documentation and sample code for real time computer vision."
url="http://sourceforge.net/projects/opencvlibrary"                                             
license=("BSD")                                                                                 
arch=(i686 x86_64)                                                                             
source=(http://downloads.sourceforge.net/opencvlibrary/opencv-$pkgver.tar.gz                   
        ffmpeg.diff)                                                                           
md5sums=('b147b7cd3c059831c415c5a2bcecdf95'                                                     
         '9b41ed8757c9006af0ffe463908e75fb')                                                   
options=(!libtool)                                                                             
# backend dependency must be first!                                                             
depends=('ffmpeg' 'gtk2' 'jasper' 'python')

# choose one backend: ffmpeg or gstreamer
_backend=ffmpeg
case $_backend in
    ffmpeg)depends[0]=ffmpeg; _backend_arg=--with-ffmpeg;;
    gstreamer)depends[0]=gstreamer0.10; _backend_arg=--with-gstreamer;;
    *)msg 'Choose any backend!'; return 1;;
esac

build() {
    msg '########################################################'
    msg '# Modify _backend variable for choosing required backend'
    msg '# for video input/output. You can choose between ffmpeg '
    msg '# and gstreamer.'
    msg '########################################################'

    cd $srcdir/$pkgname-1.1.0

    # fix pathes to ffmpeg headers
    patch -p1 < $srcdir/ffmpeg.diff || return 1
    # bad things happens if trying modify autoconf.in and run autoconf :(,
    # so fix configure script manually
    sed -e 's/ffmpeg\/avcodec.h/libavcodec\/avcodec.h/'\
        -e 's/ffmpeg\/swscale.h/libswscale\/swscale.h/'\
        -i configure || return 1

    ./configure --prefix=/usr --with-python $_backend_arg --without-quicktime
    make || return 1
    make DESTDIR=$pkgdir install

    # adding license
    install -d -m755 $pkgdir/usr/share/licenses/$pkgname
    install -m644 docs/license.txt $pkgdir/usr/share/licenses/$pkgname
}


ffmepeg.diff
Код: Выделить всёРазвернуть
diff --unified --recursive opencv-1.1.0-origin/otherlibs/highgui/cvcap_ffmpeg.cpp opencv-1.1.0-fixed/otherlibs/highgui/cvcap_ffmpeg.cpp
--- opencv-1.1.0-origin/otherlibs/highgui/cvcap_ffmpeg.cpp      2008-09-30 00:49:15.000000000 +0400
+++ opencv-1.1.0-fixed/otherlibs/highgui/cvcap_ffmpeg.cpp       2008-10-27 17:31:48.000000000 +0300
@@ -53,10 +53,10 @@
#include <errno.h>
#endif

-#include <ffmpeg/avformat.h>
-#include <ffmpeg/avcodec.h>
+#include <libavformat/avformat.h>
+#include <libavcodec/avcodec.h>
#if defined(HAVE_FFMPEG_SWSCALE)
-#include <ffmpeg/swscale.h>
+#include <libswscale/swscale.h>
#endif
}

Re: OpenCV - решение проблемы с установкой под Unix/Linux'ом

realsystem » 31 мар 2009, 14:44

Спасибо, это же нашел в гугле :)

И кстати этот патч в АльтЛинухе неактуален, там Н-шники как раз в ffmpeg каталоге(хотя пакеты называются libavformat, libavcodec и libswscale), но ни так ни так не работает.

Добавлено спустя 1 час 15 минут 59 секунд:
Жееесть просто. Скачал исходники ffmpeg, подложил их в OpenCV, компильнул, нашел кучу ошибок в OpenCV :) Кое как пофиксил - компильнулось, работает :)


Rambler\'s Top100 Mail.ru counter