opencv 全志_移植opencv人脸识别到全志A10开发板上 +linux3.0内核
移植opencv人臉識別
libz: ? ?zlib-1.2.3
libjpeg: ? jpegsrc.v6b
libpng: ? libpng-1.2.18
libyasm: ? yasm-0.7.2
opencv: ? ?opencv-2.0.0
libx264: ? x264-snapshot-20050911-2245
libxvid: ? xvidcore-1.1.3
lffmpeg: ? ffmpeg-0.4.9-p20051120
1, 設置環境變量:
代碼: 全選
export PATH=$PATH:/usr/local/arm/4.3.2/bin
說明:/usr/local/arm/4.3.2/bin是我的交叉編譯工具所在目錄。
下面所有編譯的庫都放在目錄:/usr/local/arm/4.3.2/arm-none-linux-gnueabi下。這么做的原因是避免在編譯其他庫時,需要重新指定依賴庫的路徑,經驗告訴我,這樣做同時能夠消除,依賴庫路徑所帶來的麻煩。
2, libz的交叉編譯:
進入libz的目錄:
CC=arm-linux-gcc ./configure --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi --shared
#make
#make install
3, libjpeg的交叉編譯:
進入jpeg的目錄:
#./configure --prefix=/usr/arm-2010.09/bin/arm-none-linux-gnueabi --enable-shared –enable-static
#gedit Makefile (修改Makefile中cc =arm-linux-gcc ar=arm-linux-ar ar2=arm-linux-ranlib)
#make
make之后會出現這樣的錯誤:”
./libtool --mode=compile arm-linux-gcc -O2 ?-I. -c ./jcapimin.c
make: ./libtool: Command not found
make: *** [jcapimin.lo] Error 127
解決辦法: 檢查自己系統下有沒有libtool,如果沒有那么自己裝一個;裝完之后把config.guess &&config.sub復制到jpeg目錄下:
#cp /usr/share/libtool/config/config.sub ./
#cp /usr/share/libtool/config/config.guess ./
之后執行:
#make install
make install 時又出現錯誤:
/usr/bin/install: cannot create regular file `/usr/local/libjpeg/bin/cjpeg': No such file or directory
make: *** [install] Error 1
解決辦法:在/usr/local/arm/4.3.2/bin下建立4個目錄:
#mkdir bin
#mkdir lib
#mkdir include
#mkdir man/man1
然后,
#make install
4, libpng的交叉編譯
進入png的目錄:
#./configure --prefix=/usr/local/libpng --enable-shared --enable-static --host=arm-none-linux-gnueabi
#make
#make install
安裝libpng出現configure: error: ZLib not installed
然后就按照以下步驟做
0.先安裝zlib
1.進入zlib的源文件目錄,執行命令 make clean,清除zlib
2.重新配置 ./configure,后面不要接--prefix參數;
3.編輯 make && make install 安裝;
4.進入libpng目錄,執行命令 ./configure --prefix=/usr/local/libpng;
5.編譯 make && make install 安裝;
6.安裝成功;
5, yasm的交叉編譯:
進入yasm目錄:
#./configure --prefix=/usr/arm-2010.09/bin/libx264 --enable-shared --enable-static --host=arm-linux
#make
#make install
6, libx264的交叉編譯:
進入x264目錄:
#CC=arm-none-linux-gnueabi-gcc ./configure --enable-shared --host=arm-linux –disable-asm --prefix=/usr/arm-2010.09/bin/libx264
make CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar LD=arm-none-linux-gnueabi-ld RANLIB=arm-none-linux-gnueabi-ranlib STRIP=arm-none-linux-gnueabi-strip
#make
#make install
7, libxvid的交叉編譯:
進入build/generic目錄:
#./configure --prefix=/usr/arm-2010.09/bin/libxvid --host=arm-linux ?--disable-assembly
#make
#make install
9, opencv2.0.0的交叉編譯:
進入opencv2.0.0目錄:首先,修改configure文件:
#gedit configure
搜索-lavcodec,定位到大概18182行的位置,在“FFMPEGLIBS="-lavcodec -lavformat” 后添加 “-lswscale”, 修改之后變為:“FFMPEGLIBS="-lavcodec -lavformat -lswscale $FFMPEG_SWSCALE_LIBS"”,然后保存退出。
在終端中輸入:
#./configure --host=arm-none-linux-gnueabi --without-gtk --without-carbon --without-quicktime --without-1394libs --with-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include/ LDFLAGS=-L/ usr/local /arm/4.3.2/arm-none-linux-gnueabi/lib --with-v4l --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi ?CXXFLAGS=-O2
#make
#make install
到此,opencv-2.0.0的一直算是成功了。接下來,需要把所有的庫燒寫到arm板子上去,如果燒寫到根目錄的lib目錄下,那么不用指定LD-LIBRARY-PATH,反之則反之。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的opencv 全志_移植opencv人脸识别到全志A10开发板上 +linux3.0内核的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为手机助手解析包时出现问题_iOS12
- 下一篇: php 7 pcntl扩展,PHP_Li