Linux 下编译安装OpenCV
CentOS7配置OpenCV3.0.0 for Linux 64Bit
附录2:CentOS7配置OpenCV3.0.0 for Linux 64Bit1、说明:1、系统:CentOS 72、软件:opencv-3.0.0.zip3、下载地址:https:///opencv/opencv/zip/3.0.04、本次安装,系统采用root登录,若使用普通用户登录,请务必在进行所有终端操作之前,切换到root权限状态,但是不保证不会出错;即,每打开一次终端,先输入su root,回车后输入root密码再按回车,然后进行终端操作5、本方法仅供参考2、安装依赖包(重要)终端输入:yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm按回车,期间会有提示是否继续,需要确认继续注:如果不安装上述依赖包,到最后调用opencv时会出错,如下:OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow,...................此时只能将编译好的opencv删除再重新编译,即将/usr/local/lib和/usr/local/include/中的有关的删除mv /usr/local/lib/libopencv*mv -fr /usr/local/include/opencvmv -fr /usr/local/include/opencv2然后再重新编译opencv.3、安装/更新CMake下载最新版本的cmake-3.6.0.tar.gz文件进行编译下载地址:/cmake/resources/software.html将其复制到/usr/local目录下面,并在该目录中右键打开终端终端输入:tar-zxvf cmake-3.6.0.tar.gz按回车rm -rf cmake-3.6.0.tar.gzcd cmake-3.6.0./configuremakemake installmv cmake-3.6.0 cmake输入:vi /etc/profile在尾部添加PATH=/usr/local/cmake/bin:$PATHexport PATH注意:不要将冒号写成分号,要不然各种命令行都不能用输入:source /etc/profile按回车使修改生效输入:echo $PATH按回车查看PATH值有没有添加刚刚的路径输入:cmake -version按回车查看cmake版本注意:cmake安装成功之后再安装opencv4、安装OpenCV下载opencv-3.0.0.zip,放于/usr/local/目录下,在该目录中右键打开终端输入:unzip opencv-3.0.0.zipcd opencv-3.0.0cmake CMakeLists.txt注:此过程中可能出现错误,参考下方错误处理makemake install5、添加路径打开终端,输入find / -name "opencv.pc" -type f按回车,出现如下内容/usr/local/lib/pkgconfig/opencv.pc/usr/local/opencv-3.0.0/unix-install/opencv.pc继续输入:cp usr/local/opencv-3.0.0/unix-install/opencv.pc/usr/lib64/pkgconfig/按回车6、错误处理:Cmake过程中可能出现如下错误:“CMake Warning at 3rdparty/ippicv/downloader.cmake:54 (message):ICV: Local copy of ICV package has invalid MD5 hash:0103b909e19ca9c6497a7ae696c16480 (expected:8b449a536a2157bcad08a2b9f266828b)Call Stack (most recent call first):3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)cmake/OpenCVFindIPP.cmake:235 (include)cmake/OpenCVFindLibsPerf.cmake:12 (include)CMakeLists.txt:526 (include)-- ICV: Downloading ippicv_linux_20141027.tgz...CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file):file DOWNLOAD HASH mismatchfor file: [/home/jason/program/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08 a2b9f266828b/ippicv_linux_20141027.tgz]expected hash: [8b449a536a2157bcad08a2b9f266828b]actual hash: [0103b909e19ca9c6497a7ae696c16480]Call Stack (most recent call first):3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)cmake/OpenCVFindIPP.cmake:235 (include)cmake/OpenCVFindLibsPerf.cmake:12 (include)CMakeLists.txt:526 (include)”处理方法:下载文件/projects/opencvlibrary/files/3rdparty/ippicv/ippicv_linux_20 141027.tgz/download覆盖掉/usr/local/opencv-3.0.0-beta/3rdparty/ippicv/downloads/linux-8b449a536a2157bca d08a2b9f266828b/目录下的文件即可7、OpenCV安装到此结束。
linux系统怎么编译c++程序
linux系统怎么编译c++程序编译C++程序在Linux系统的操作步骤如下:1. 打开终端:进入Linux系统后,打开终端,可以通过快捷键Ctrl+Alt+T或者在菜单中找到终端应用程序来打开。
2. 切换到源代码所在目录:使用cd命令切换到C++源代码所在的目录。
例如,如果源代码在home目录的cpp目录下,可以使用以下命令切换到该目录:```bashcd ~/cpp```可以用ls命令查看当前目录下的文件。
3. 编写C++源代码:使用你喜欢的文本编辑器编写C++源代码,将其保存为.cpp文件。
例如,可以使用vim编辑器创建一个名为main.cpp 的源代码文件:```bashvim main.cpp在编辑器中输入C++代码,并保存退出。
4. 编译源代码:在终端中使用g++命令来编译C++源代码。
以下是使用g++进行编译的命令格式:```bashg++ <源代码文件名>.cpp -o <可执行文件名>```例如,如果源代码文件名为main.cpp,你想将可执行文件命名为myprogram,可以使用以下命令:```bashg++ main.cpp -o myprogram```编译过程中,g++将会将C++源代码编译为可执行文件。
如果没有错误信息,即编译成功。
5. 运行程序:编译成功后,使用以下命令来运行程序:```bash./<可执行文件名>```以前面命名的可执行文件myprogram为例,可以使用以下命令运行程序:```bash./myprogram```现在你的C++程序将在终端中运行。
通过以上步骤,你可以在Linux系统中编译并运行C++程序。
如果在编译过程中出现错误,可以检查代码和命令是否正确,并根据编译器的错误提示进行调整。
opencv python交叉编译
标题:OpenCV Python交叉编译指南一、背景介绍OpenCV是一个开源的计算机视觉库,它可以帮助开发者快速构建图像处理和计算机视觉相关的应用程序。
而Python是一种简洁、易读的高级编程语言,在人工智能和数据科学领域有着广泛的应用。
将OpenCV与Python结合起来可以为图像处理和计算机视觉领域的开发提供便利。
然而,在一些特定的场景下,我们可能需要将OpenCV在其他评台上进行交叉编译,比如在嵌入式系统、嵌入式Linux等环境中使用OpenCV和Python。
在这篇文章中,我们将介绍如何在Linux评台上进行OpenCV Python交叉编译的详细步骤和注意事项。
二、交叉编译准备工作1. 确定目标评台在进行交叉编译之前,首先需要确定目标评台的硬件架构和操作系统版本。
我们可能要将OpenCV和Python在ARM架构的嵌入式系统上进行交叉编译,因此需要了解该嵌入式系统的架构和操作系统版本。
2. 安装交叉编译工具链根据目标评台的架构和操作系统版本,安装对应的交叉编译工具链。
交叉编译工具链包括交叉编译器、交叉信息器等工具,它们可以将源代码编译成目标评台的二进制可执行文件。
3. 准备交叉编译环境在本地机器上搭建交叉编译环境,包括配置交叉编译工具链的环境变量、安装目标评台的头文件和库文件等。
三、交叉编译OpenCV1. 下载OpenCV源代码从OpenCV官方全球信息湾或GitHub上下载最新的OpenCV源代码,并解压到本地机器上。
2. 配置交叉编译参数在终端中进入OpenCV源代码目录,运行以下命令配置OpenCV的交叉编译参数:```cmake -DCMAKE_C_COMPILER=交叉编译器路径-DCMAKE_CXX_COMPILER=交叉编译器路径-DCMAKE_FIND_ROOT_PATH=交叉编译环境路径-DOPENCV_EXTRA_MODULES_PATH=OpenCV额外模块路径 -DOPENCV_ENABLE_NONFREE=ON/OFF-DBUILD_opencv_python2=OFF-DBUILD_opencv_python3=ON-DPYTHON3_EXECUTABLE=Python解释器路径-DCMAKE_INSTALL_PREFIX=OpenCV安装路径```这些参数中,需要根据实际情况填写交叉编译器路径、交叉编译环境路径、OpenCV额外模块路径、Python解释器路径和OpenCV安装路径。
Linux 下编译、安装、配置 QT
3、这就是本文用的方法,就是下载源码包,自己编译安装,最为麻烦,但是本来就是学习的,况且现在只能下载到源码包,那就先学习这种方法把。
软件下载QT有好几个下载网站,这里汇总介绍,自从诺基亚公司放弃Meego、遣散Qt开发团队以后,Qt商业版本的网站移到了,而开源版本则放到了 :1、首先是诺基亚的官方网站/这个是不太方便的,想快速下载的接着看后面的。
此网站需要填写用户名和邮箱地址,下载地址会发送到邮件里,我就把我收到的地址贴出来吧。
下面是邮件中的地址汇总。
这里面的linux源码是commercial版本。
Qt 4.8.4 for embedded Linux/developer/download/qt-everywhere-commercial-sr c-4.8.4.tar.gzInstalling Qt for embedded Linux/doc/qt-4.8/qt-embedded-install.htmlQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.tar.gzQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.tar.gzQt 4.8.4 for Windows (Src and VS2008 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 008.exeQt Visual Studio Addin 1.1.11 for Qt4 (Binary)/developer/download/qt-vs-addin-1.1.11.exeQt 4.8.4 for Windows (Src and VS2010 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010.exeQt 4.8.4 for Windows (Src and MinGW 32bit Binary)/developer/download/qt-win-commercial-4.8.4-min gw.exeQt Creator 2.6.1 for Windows (32bit Binary)/developer/download_creator/qt-creator-win-comm ercial-2.6.1.exeQt 4.8.4 for Windows (Src and VS2010 64bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010-64bit.exeQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.zipQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.zipQt 5.0.0 Offline SDK for Windows (32-bit Binary)/developer/download_50/qt-windows-commercial-5.0.0-msvc2010_32-x86-offline.exeQt Visual Studio Addin 1.2.0 for Qt5 (Binary)/developer/download_50/qt-vs-addin-1.2.0.exe2、QT-project网站下载/downloads这个网站就直接而且清晰多了,分类很清楚,如下图所示。
linux +qt4.7+opencv2.2移植到tq2440开发板
linux +qt4.7+opencv2.2移植到tq2440开发板以下操作在Fedora下使用超级用户进行我已经安装了交叉编译器arm-linux-gcc 4.3.3和qt4.5的x86和arm版本在目录/opt/EmbedSky下。
修改配置文件/etc/profile 添加pathmunge /opt/EmbedSky/4.3.3/bin安装CMakeOpenCV 2.1的版本,必须使用CMake创建Makefile。
我使用的CMake版本是2.6-Linux-i386的,是fedora 通过软件添加和载卸功能添加的(这个cmake要重新安装,而且要添加bin进去路径)编译OpenCV:1、解压OpenCV 2.1到/opt/EmbedSky/OpenCV-2.1.0目录下2、在超级用户下,运行cmake-gui命令选择源代码目录:/opt/EmbedSky/OpenCV-2.1.0选择Build目录:/home/pww71/opencv-arm/点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-compiling,点击Next Operating System填写arm-inuxC Compilers选择/opt/EmbedSky/4.3.3/bin/arm-linux-gccC++ Compilers选择/opt/EmbedSky/4.3.3/bin/arm-linux-g++程序库的Target Root填写/opt/EmbedSky/4.3.3/,然后点击Finish修改默认配置,X86-opencv的cmake配置添加BUILD_EXAMPLES 和OPENCV_BUILD_3RDPARTY_LIBS 前面的日志已经介绍过了arm-opencv的cmake配置不要加BUILD_EXAMPLES 和OPENCV_BUILD_3RDPARTY_LIBS 和去掉WITH_TIFFCMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrtx86的opencv默认安装目录为/usr/local,对于arm的交叉编译的库来说并不合适,所以把CMAKE_INSTALL_PREFIX变量改为/usr/local/arm/lib/opencv/没有安装tiff图像的支持,去掉WITH_TIFF点击Generate生成Makefile3、使用超级用户进入目录/home/pww71/opencv-arm,运行make编译opencv4、运行make install,将opencv生成的库和头文件安装到目录/usr/local/arm/lib/opencv/QT的配置已经解压和安装了qt4.5的x86的库和arm交叉交叉编译的库安装qtcreator时记得安装地址并且修改配置文件/etc/profile 添加上qtcreator的安装地址的bin目录我的是pathmunge pathmunge /opt/EmbedSky/qtcreator-1.3.0/bin为了能找到qmake 还要添加路径pathmunge /opt/EmbedSky/qt-4.5/_install/x86/binpathmunge /opt/EmbedSky/qt-4.5/_install/am/bin到配置文件/etc/profile中使用超级用户输入命令source /etc/profile 后再执行qtcreator命令打开Qtcreator界面进入Tools-Options左侧选择QT4-Qt Versions 右侧选项里:如果通过软件添加和载卸工具添加了qt4的话Auto-detected会自动的选择Qt in PATH /usr/local/bin/qmake-qt4 用这个qmake工具生成的可执行文件不用添加-qws命令行参数自己安装的qt4.5 我是如下配置Qt in PATH /opt/EmbedSky/qt-4.5/_install/arm/bin/qmake添加Manual x86-qt-4.5.0 /opt/EmbedSky/qt-4.5/_install/x86/bin/qmake生成的可执行文件需要添加-qws命令行参数分别点击rebuild 最后点击okBuild Settings 中根据需要Add刚才配置的选择BUild configuration for ... 也选择相应的选项在QT工程文件.Pro中添加以下内容INCLUDEPATH += /usr/local/include/opencvLIBS += /usr/local/lib/libcv.so \/usr/local/lib/libcvaux.so \/usr/local/lib/libcxcore.so \/usr/local/lib/libhighgui.so \/usr/local/lib/libml.sopc仿真必须将以上库还要添加到项目文件夹里如果是arm开发板的程序则添加以下内容INCLUDEPATH += /usr/local/arm/lib/opencv/include/opencvLIBS += /usr/local/arm/lib/opencv/lib/libcv.so \/usr/local/arm/lib/opencv/lib/libcvaux.so \/usr/local/arm/lib/opencv/lib/libcxcore.so \/usr/local/arm/lib/opencv/lib/libhighgui.so \/usr/local/arm/lib/opencv/lib/libml.so编译生成可执行文件移植到开发板提示缺少什么库就按提示添加相应的图像库到lib中以及qt4.5的库和字体都添加到相应的目录中中间有一个这个提示QWSDisplay::Data::init: Invalid argumentClient can't attach to main ram memory.Aborted这个是表示缺少命令行参数-qws是Qt4的问题运行命令添加该参数ok一切正常注意的是qtcreator。
Opencv2.0移植ARM全过程
2. 配置选项: $ ./configure --prefix=/home/liuxiu/opencv-arm --enable-pic –enable-shared --cross-prefix=armlinux- --host=arm-linux --extra-cflags=-I/home/liuxiu/opencv-arm/include --extra-ldflags=L/home/liuxiu/opencv-arm/lib --enable-shared --enable-pthread –disable-asm 出现 ./version.sh: 行 2: git: 未找到命令 Platform: ARM System: LINUX asm: no avs input: no lavf input: no ffms input: no mp4 output: no pthread: yes debug: no gprof: no PIC: yes shared: yes visualize: no
二、交叉编译 libjpeg
版本 jpegsrc.v6b,这些库都可以从官网上下载的。
1. 解压进入目录
2. 配置选项: $./configure –prefix=/home/liuxiu/opencv-arm –exec-prefix=/home/liuxiu/opencv-arm –-enableshared --enable-static 下面分别介绍这几个参数的作用: --prefix=/home/liuxiu/opencv-arm : 执行 make install 后,会将与体系无关的文件拷贝到此目录 下,具 体如下: /home/liuxiu/opencv-arm ....................................
Opencv在linux下安装
Linux下配置opencv(opencv2.3.1为例) 1.建立一个文件夹命令:mkdir opencv2.进入该文件夹中命令:cd opencv/3.先配置系统:命令:sudo apt-get update命令:sudo apt-get upgrade4.工具准备(安装必要的依赖包)命令:sudo apt-get install cmakesudo apt-get install cmake-curses-guisudo apt-get install build-essential libgtk2.0-dev libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-devlibopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev sudo apt-get install build-essential checkinstall git cmakelibfaac-devlibjack-jackd2-dev libmp3lame-dev libopencore-amrnb-devlibopencore-amrwb-devlibsdl1.2-devlibtheora-dev libva-dev libvdpau-devlibvorbis-dev libx11-devlibxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev(注意:这些库文件缺一不可)5.读取摄像头需要安装lib4:命令:wget /downloads/v4l-utils/v4l-utils-0.8.5.tar.bz2解压该文件命令:tar -xvfv4l-utils-0.8.5.tar.bz2进入该文件夹:cd v4l-utils-0.8.5/安装文件:sudo make install6.安装ffmpeg1(1)命令:cd ../(2)找到文件:wget/releases/ffmpeg-0.7-rc1.tar.gz //下载ffmpeg-0.7-rc1.tar.gz安装包,建议直接从网下载速度较快,这样第2步可以省略直接进入第3步(3)解压文件命令:tar -xvzf ffmpeg-0.7-rc1.tar.gz (4)进入该文件夹命令:cd ffmpeg-0.7-rc1命令:./configure --enable-gpl --enable-libfaac--enable-libmp3lame --enable-libopencore-amrnb--enable-libopencore-amrwb --enable-libtheora--enable-libvorbis --enable-libx264 --enable-libxvid--enable-nonfree --enable-postproc --enable-version3--enable-x11grab –enable-shared(#命令:./configure --enable-gpl --enable-version3--enable-nonfree --enable-postproc --enable-libfaac--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid--enable-x11grab --enable-swscale –enable-shared?)(若有些错误通过apt-get install进行安装,其他可通过apt-get install xxx-dev进行安装。
Linux下安装OpenCV
|改成
#if defined(HAVE_CAMV4L)
完成
5、编译安装OpenCV2.2
在解压目录下创建build文件夹,运行cmake,命令:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
2、下载Opencv for linux
首先下载opencv的源文件包,下载地址:/download/OpenCV-2.1.0.tar.bz2
创建opencv安装目录/home/(你的登录用户名)/Opencv/,命令:sudo mkdir ~/home/(你的登录用户名)/Opencv
解压cmake包,进入刚刚创建的文件夹,输入tar zxvf ./cmake-2.8.4.tar.gz
编译安装,进入文件夹/home/(你的登录用户名)/cmake/cmake-2.8.4,命令:sudo ./bootstrap; make; make install
打开在用户主目录,用vim或者gedit打开修改/home/(你的登录用户名)/.bashrc, 增加一行 PATH=$PATH:/home/(你的登录用户名)/program/cmake/cmake-2.8.4/bin:
修改bash.bashrc文件,sudo gedit /etc/bash.bashrc
在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
opencv编译安装笔记(Linux、Ubuntu )
2.0.0/src/highgui/window.cpp,line100
terminatecalledafterthrowinganinstanceof'cv::ExcepTIon'
通过网络获取安装:
查看版本,测试是否安装成功:
root@emouse:/home#cmake--version
cmakeversion2.8.10.2
二、Ubuntu下安装OpenCV
软件环境:
Ubuntu12.04
OpenCV2.4.3
Cmake2.8.10.1
gcc4.6.3(系统默认)
1、先安装libgtk2.0-dev和pkg-config,,否则后期编译运行程序会出现
类似如下的问题:
OpenCVError:Unspecifiederror(ThefuncTIonisnotimplemented.Rebuild
thelibrarywithWindows,GTK+2.xorCarbonsupport.IfyouareonUbuntuor
Debian,installlibgtk2.0-devandpkg-config,thenre-runcmakeorconfigurescript)
#apt-getinstalllibgtk2.0-dev
#apt-getinstallpkg-config
2、下载OpenCV,文件名:OpenCV-2.4.3.tar.bz2
解压:
#ta到文件夹OpenCV-2.4.3
这里新建一个文件夹OpenCV-x86作为PC编译目录。
Linux OpenCV2.4.9源码编译安装
ffmpeg源码编译安装1、复制源代码cd ~mkdir ffmpegcd ffmpeg2、解压tar xjvf ffmpeg-1.2.tar.bz2cd ffmpeg-1.23、配置./configure --enable-shared --prefix=/usr/其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。
--prefix设置的安装目录。
4、编译并安装makemake install5、安装之后在/usr/会看到有三个目录lib 动态链接库位置include 编程要用到头文件bin 执行文件所在的目录6、测试ffmpeg执行bin目录下的ffplay,可以去播放音频或者视频文件。
例如播放1.mp3./ffplay 1.mp3另外,bin目录下还有两个文件:ffmpeg和ffserverffmpeg是一个很好的视频和音频的格式转化工具。
网上有很多它的说明文档。
如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。
安装openv需要的其他软件sudo apt-get install libgtk2.0-devsudo apt-get install pkg-configOpenCV2.4.9源码编译安装1、复制载源码cd ~mkdir opencvcd opencv2、解压文件unzip opencv-2.4.9/cd opencv-2.4.9/3、检查软件配置cmake CMakeLists.txt完成后在最后打印一下信息:-- Configuring done-- Generating done-- Build files have been written to: /opt/opencv-2.4.94、编译OpenCVmake5、安装OpenCV用root用户执行sudo make install6、更新动态连接库用root用户执行下面的操作sudo vim /etc/ld.so.conf在该文件中添加路径/usr/local/lib然後运行命令:sudo ldconfig将/usr/local/lib/pkgconfig中的opencv.pc 拷贝到/usr/lib/pkgconfig中(如果不做这步,根本编译不起) 命令如下:sudo cp /usr/local/lib/pkgconfig/opencv.pc /usr/lib/pkgconfig7、编译opencv程序的方法以编译test.c文件为例子(因为highgui中采用了c++,所以一定要用g++编译才可以)g++ test.cpp `pkg-config --cflags --libs opencv`。
OpenCV移植到ARM全过程
OpenCV移植到ARM全过程Host:VMware + Ubuntu 10.04Target:Real6410 with Linux 2.6.28.6Crossing Compiler:arm-none-linux-gnueabi-4.3.2 with EABI一交叉编译链的安装1 解压,即可得到arm-none-linux-gnueabi 目录# tar –xjvf arm-none-linux-gnueabi-4.3.2.tar.bz22 为了使用方便,还可以编辑/etc/bash.bashrc 文件添加把编译器路径到环境变量PATH 中,只要在这个文件中添加下面这2 个语句即可:PATH=/root/ arm-none-linux-gnueabi-4.1.0/bin:$PATHexport PATH3 编辑完毕后使用source /etc/bash.bashrc 命令执行以下这个文件,让设置生效,之后再输入:# arm-none-linux-gnueabi-gcc -v如果输出下面的信息则表面设置成功:Using built-in specs.Target: arm-none-linux-gnueabiConfigured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https:///GNUToolchain/ --disable-nls--prefix=/opt/codesourcery--with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/ bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/binThread model: posixgcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)至此交叉编译链安装完成。
opencv交叉编译so库详解
opencv交叉编译so库详解交叉编译OpenCV库通常是为了在一个平台上生成在另一个平台上运行的共享库(SO库)。
这种情况通常发生在嵌入式系统或其他非本地目标平台上。
以下是一个简要的步骤和解释,供您参考:准备交叉编译工具链:首先,您需要获取适用于目标平台的交叉编译工具链。
这可能是由目标平台的制造商提供的,或者您可以使用一些交叉编译工具,如crosstool-ng。
配置环境变量:将交叉编译工具链的路径添加到您的环境变量中,以确保系统知道在哪里找到交叉编译器和工具。
export PATH=/path/to/your/cross/compiler:$PATH下载OpenCV源代码:下载OpenCV的源代码。
您可以从OpenCV官方网站上获取源代码,然后解压缩到您的工作目录。
创建构建目录:在OpenCV源代码目录外创建一个用于构建的目录,并进入该目录。
mkdir buildcd build配置CMake:运行CMake配置,指定交叉编译器和其他必要的参数。
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/your/toolchain-file.cmake ..其中,/path/to/your/toolchain-file.cmake 是您为目标平台编写的CMake工具链文件。
进行编译:运行make命令进行编译。
make生成共享库:编译完成后,在构建目录中,您将会找到生成的OpenCV共享库文件(.so文件)。
传输到目标平台:将生成的共享库传输到目标平台。
在目标平台上使用:在目标平台上,您可以使用传输过去的共享库进行开发。
请注意,上述步骤的具体细节可能因您的目标平台和环境而异。
确保您查看OpenCV文档和目标平台的文档,以获取更详细的信息。
CMake工具链文件是关键的一步,因为它告诉CMake如何使用交叉编译器和其他工具。
在这个文件中,您需要配置适合您目标平台的编译器、库路径、头文件路径等信息。
linux内核交叉编译过程详解
linux内核交叉编译过程详解交叉编译是在一个平台上生成适用于另一个平台的可执行文件的过程。
下面将详细解释在Linux下的内核交叉编译过程:1.环境搭建:o安装交叉编译工具链。
这些工具通常以静态链接的方式提供,例如gcc-arm-linux-gnueabi、binutils-arm-linux-gnueabi。
o配置本地的Makefile文件,以指定交叉编译工具链的路径。
2.获取内核源码:o从官方网站或git仓库下载目标内核的源码。
3.配置内核:o运行makemenuconfig或其他配置工具,根据目标平台的硬件和需求选择合适的配置选项。
o保存配置,生成.config文件。
4.交叉编译内核:o运行make命令开始编译过程。
由于内核很大,此过程可能需要很长时间。
o在编译过程中,内核将被编译成可在目标平台上运行的二进制文件。
5.打包编译好的内核:o内核编译完成后,需要将其打包成适合在目标平台上安装的形式。
这通常涉及到创建引导加载程序(如U-Boot)所需的映像文件。
6.测试和调试:o将编译好的内核和相关文件复制到目标板上,进行启动和测试。
o如果遇到问题,需要进行调试和修复。
7.部署:o一旦内核能够正常工作,就可以将其部署到目标设备上。
这可能包括将其集成到设备固件中,或者作为独立的操作系统运行。
8.维护和更新:o根据需要更新内核版本或进行其他更改,重复上述步骤。
在整个过程中,确保你的交叉编译环境和目标硬件的文档齐全,并遵循相应的开发指导原则。
对于复杂的项目,可能还需要进行更深入的定制和优化。
Opencv4.1.0交叉编译----终端摄像头内算法嵌入,海思HISI、雄迈ARM编译链使用经验
Opencv4.1.0交叉编译----终端摄像头内算法嵌⼊,海思HISI、雄迈ARM编译链使⽤经验引: 项⽬需求,在终端摄像头⾥嵌⼊简单算法,进⾏图像预处理,考虑使⽤Opencv和dlib实现,本博客阿星记录Opencv在摄像头中arm 开发板交叉编译与使⽤的经验环境:主机系统:Ubuntu16.04Opencv版本: 4.1.0交叉编译器:海思Hi3516C V500R001C02SPC010版本编译链,雄迈编译链⾃动化编译⼯具: cmake version 3.5.1⼀、交叉编译opencv引:本⽂使⽤两种博主亲测⽅法进⾏opencv的交叉编译下载Opencv安装cmakesudo apt-get install cmakesudo apt-get install cmake-gui安装基础# ubuntu16.04 默认⾃带安装sudo apt-get install build-essential# ubuntu16.04 除了git,其他默认⾃带安装sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev# libdc1394-22-dev 需要安装,其他默认⾃带安装sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev⼀ >1、⽅法⼀确保已安装cmake,直接使⽤下述shell脚本进⾏⼀键交叉编译,项⽬后期博主采⽤的即本⽅式,交叉编译中会出现的问题,⽅法⼀⼆相同,记录在本博客编译⽅法之后将opencv源码解压后,进⼊opencv⽬录,创建build⽂件夹。
open62541库的linux编译
open62541库的linux编译open62541是一个开源的C++库,用于在Linux操作系统下进行编译。
它是一个基于OPC UA(开放式连接性架构)标准的实现库,旨在为工业自动化领域提供高性能、可扩展和可靠的通信解决方案。
本文将介绍如何在Linux环境下使用open62541库进行编译。
确保你的Linux系统已经安装了必要的开发工具和依赖项。
这包括GCC编译器、CMake构建工具和必要的开发库,如libssl和libcrypto。
你可以使用包管理器来安装这些软件包,具体安装命令可能因Linux发行版而异。
接下来,下载open62541源代码。
你可以从open62541的官方网站或GitHub仓库获取最新的源代码压缩包。
解压缩源代码后,进入源代码目录。
在源代码目录中,创建一个新的目录用于构建。
例如,你可以创建一个名为"build"的目录,并进入该目录。
在构建目录中,运行CMake命令来生成构建文件。
CMake是一个跨平台的构建系统,可以根据不同的编译器和操作系统生成相应的构建文件。
运行以下命令:```cmake ..```这将在构建目录中生成相应的构建文件。
你可以使用`-DCMAKE_BUILD_TYPE=Release`选项来指定构建类型为Release,以获得更高的性能。
接下来,运行make命令来编译open62541库。
运行以下命令:```make```这将在构建目录中编译open62541库。
编译过程可能需要一些时间,具体取决于你的系统性能和代码库的大小。
编译完成后,你可以使用make命令来安装open62541库。
运行以下命令:```sudo make install```这将安装open62541库到系统默认的安装目录中。
如果你希望将库安装到其他目录,可以使用`-DCMAKE_INSTALL_PREFIX=<install_path>`选项来指定安装路径。
opencv ffmpeg 交叉编译
opencv ffmpeg 交叉编译OpenCV和FFmpeg是两个常用的图像处理和视频处理的库。
它们可以帮助我们实现各种各样的应用。
本文将介绍如何对它们进行交叉编译。
首先,需要准备好交叉编译工具链。
这里我们以arm-linux-gnueabi为例。
在Ubuntu下,可以使用以下命令进行安装:```sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi```接下来,我们需要下载OpenCV和FFmpeg的源码。
可以从它们的官方网站上下载最新的版本。
下载完成后,将它们解压缩到任意目录下。
然后,进入OpenCV的源码目录,创建一个名为"build"的子目录,并进入该目录。
执行以下命令:```cmake \-DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake \-DCMAKE_INSTALL_PREFIX=install \-DCMAKE_C_FLAGS="-march=armv7-a -mfpu=neon -mfloat-abi=hard" \-DCMAKE_CXX_FLAGS="-march=armv7-a -mfpu=neon -mfloat-abi=hard" \-DWITH_CUDA=OFF \-DBUILD_DOCS=OFF \-DBUILD_TESTS=OFF \-DBUILD_PERF_TESTS=OFF \-DBUILD_EXAMPLES=OFF \-DBUILD_ANDROID_EXAMPLES=OFF \-DWITH_FFMPEG=OFF \-DWITH_GSTREAMER=OFF \-DWITH_TBB=OFF \-DWITH_EIGEN=OFF \-DWITH_QT=OFF \-DWITH_VTK=OFF \-DWITH_IPP=OFF \-DWITH_OPENCL=OFF \-DWITH_OPENCL_SVM=OFF \../```该命令会使用指定的工具链进行编译,并将结果安装到"install"目录下。
linux cascadeclassifier路径
linux cascadeclassifier路径Linux CascadeClassifier 路径是指在Linux操作系统中使用CascadeClassifier进行目标检测时,需要配置的CascadeClassifier模型的路径。
CascadeClassifier是一种基于Haar特征的级联分类器,特别适用于人脸检测。
本文将一步一步回答如何设置Linux CascadeClassifier路径。
一、什么是CascadeClassifier?CascadeClassifier是OpenCV库中提供的一种级联分类器,它基于Haar特征并通过Adaboost算法进行级联训练。
CascadeClassifier可以用于目标检测,特别是人脸检测。
它的分类器模型文件(.xml)描述了训练好的级联分类器的特征。
二、在Linux中安装OpenCV在Linux上使用CascadeClassifier之前,首先需要在Linux系统上安装OpenCV库。
1. 打开终端,并使用以下命令安装OpenCV库:sudo apt-get updatesudo apt-get install libopencv-dev2. 等待安装过程完成,检查OpenCV是否安装成功:pkg-config modversion opencv如果成功安装,终端将显示OpenCV的版本号。
三、获取CascadeClassifier文件在Linux操作系统中,CascadeClassifier的路径指向训练好的级联分类器模型文件(.xml)。
你可以选择从OpenCV官方仓库中下载现成的CascadeClassifier模型文件,也可以自己训练一个。
1. 下载现成的CascadeClassifier模型文件:wget上述命令将在当前目录下载一个名为"haarcascade_frontalface_default.xml"的级联分类器模型文件。
linux系统中gcc编译步骤
在 Linux 系统中使用 GCC 编译器编译 C 或 C++ 程序的典型步骤如下:1. 打开终端(Terminal)。
2. 确保已正确安装 GCC 编译器。
在终端中输入以下命令:gcc --version如果 GCC 已正确安装,将显示其版本信息。
1. 使用文本编辑器(例如 `vim`, `nano`,或 `gedit` 等)创建或编辑源代码文件。
例如,为一个简单的C 程序创建一个名为`hello_world.c` 的文件。
在文件中,编写以下代码: #include <stdio.h>int main() {printf("Hello, World!\n");return 0;}1. 保存并关闭源代码文件。
2. 在终端中导航至源代码文件所在目录。
例如,如果源代码文件所在路径为`/home/username/code/`,则在终端输入:cd /home/username/code/1. 编译源代码文件。
在本例中,为了编译 `hello_world.c`, 在终端中输入以下命令:gcc -o hello_world hello_world.c这将生成一个名为 `hello_world` 的可执行文件。
如果源代码中有错误,编译过程将失败并显示错误信息。
1. 运行已编译的程序。
在终端中输入以下命令:./hello_world这将在终端中输出 "Hello, World!"。
以上步骤是一个简化的编译过程。
有时,您可能需要使用一些编译选项。
例如,应该考虑在编译过程中添加优化选项(如 `-O2`)以提高程序性能。
另外,如果您正在使用C++,则使用 `g++` 而非 `gcc`。
编译 C++ 程序的过程与上述步骤类似,只需将 `gcc` 替换为 `g++`。
linux下安装cmake方法(1)---下载压缩包
linux下安装cmake⽅法(1)---下载压缩包 OpenCV 2.2以后的版本需要使⽤Cmake⽣成makefile⽂件,因此需要先安装cmake;还有其它⼀些软件都需要先安装cmake 1.在linux环境下打开⽹页浏览器,输⼊⽹址:,找到最新版本的位置。
⼀般开放源代码软件都会有两个版本发布:Source Distribution 和 Binary Distribution,前者是源代码版,你需要⾃⼰编译成可执⾏软件。
后者是已经编译好的可执⾏版,直接可以拿来⽤的。
2.在linux环境下打开终端,输⼊:getconf LONG_BIT如果结果是64表⽰该系统是linux64位的,如果结果是32则表⽰系统是linux32位。
3.我现在所⽤的这台是64位,因此在cmake安装包的⽹站中选择binary distribution下的linux x86_64下的cmake-3.6.0-Linux-x8664.tar.gz压缩包,点击,下载。
默认下载到了home/DOWNLOAD 4.把下载好的包复制到指定路径,⽐如/home/bnu,在当前⽂件夹中打开终端,输⼊tar zxvf cmake-3.6.0-Linux-x86 64.tar.gz在该⽬录下多了⼀个解压后的⽂件夹 5.打开新的终端,输⼊该bashrc⽂件不⽤提前建⽴,路径也根据⾃⼰的情况改变,我定的路径与解压后的cmake包路径是⼀致的 6.此时会打开⼀个⽂件,找到export PATH=这些⾏,在这些⾏的下⾯另外添加⼀⾏,从⽽设置环境变量export PATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x86 64/bin输⼊完毕保存 7.查看版本,测试是否安装成功:打开终端,输⼊cmake --version结果是:cmake version 3.6.0(安装cmake成功!)要知道,在根⽬录下安装cmake,那么不同⽤户都可以共享使⽤这个cmake.如果是安装其它软件如opencv/caffe等,需要设置环境变量路径,如果路径是根⽬录,那么不同⽤户都能使⽤这些软件,但如果环境变量路径只在⼀个⽤户路径下,那么只有这个⽤户能⽤这些软件。
配置opencvcmake
配置opencvcmake第⼀种使⽤ find_package的⽅法⽰例代码如下:# 声明要求的 cmake 最低版本cmake_minimum_required( VERSION 2.8 )# 声明⼀个 cmake ⼯程project( pro )# 设置编译模式set( CMAKE_BUILD_TYPE "Debug" )#添加OPENCV库#指定OpenCV版本,代码如下#find_package(OpenCV 3.3 REQUIRED)#如果不需要指定OpenCV版本,代码如下find_package(OpenCV REQUIRED)#添加OpenCV头⽂件include_directories(${OpenCV_INCLUDE_DIRS})#显⽰OpenCV_INCLUDE_DIRS的值message(${OpenCV_INCLUDE_DIRS})# 添加⼀个可执⾏程序# 语法:add_executable( 程序名源代码⽂件)add_executable( main main.cpp )# 将库⽂件链接到可执⾏程序上target_link_libraries( main ${OpenCV_LIBS})代码部分解释find_package(OpenCV REQUIRED)会在Ubuntu系统中找到OpenCVConfig.cmake,该⽂件定义了OpenCV_INCLUDE_DIRS和OpenCV_LIBS 等变量,因⽽可以使⽤ include_directories和target_link_libraries来访问这两个变量。
可以通过打开terminal输⼊locate OpenCVConfig.cmake来找到这个.cmake⽂件,⽤以确认系统确实安装了OpenCV.第⼆种使⽤link_libraries(opencv库名的⽅法)既然我们知道了find_package的作⽤是找到后缀名为.cmake的⽂件,以此来获取其中的引⽤⽬录(.h⽂件的路径)和库的路径(例如“ /usr/lib/x86_64-linux-gnu/libopencv_video.so”),那么我们也可以选择直接使⽤正确路径的引⽤⽬录和库⽬录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux 下编译安装OpenCV
一、Cmake的安装
OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。
ubuntu下安装cmake比较简单,我装的ubuntu13.10已经自带cmake安装包,直接在命令终端输入安装命令即可。
命令为:apt-get install cmake
如果觉得自带的版本不符合要求,可以下载安装包。
查看版本,测试是否安装成功:
命令:cmake --version
cmake version 2.8.11.2
二、Ubuntu 下安装OpenCV
软件环境:
Ubuntu 12.10
OpenCV 2.4.7
Cmake 2.8.11.2
gcc 4. 8.1(系统默认)
1、先安装libgtk2.0-dev 和pkg-config,,否则后期编译运行程序会出现类似如下的问题:
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file
/usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100 terminate called after throwing an instance of 'cv::Exception'
通过网络获取安装,安装命令为:
apt-get install libgtk2.0-dev
apt-get install pkg-config
2、下载OpenCV ,文件名:OpenCV-2.4.7.tar.gz,下载地址:
/projects/opencvlibrary/files/opencv-unix/2.4.7 /opencv-2.4.7.tar.gz/download
解压:tar -xzvf OpenCV-2.4.7.tar.gz
得到文件夹OpenCV-2.4.7
这里新建一个文件夹OpenCV-x86作为PC编译目录。
3、cmake-gui 打开cmake的gui界面,开始进行配置。
cmake主要用于进行一些配置设定,从而生成用于编译安装的makefile文件,通过界面进行参数的配置和设定,非常直观、方便。
在配置中指定源码和编译目录以及生成方式。
按照下图的步骤进行配置:
点击Finish后cmake即载入默认配置,如下图所示:
如图所示,窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的,如
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D
CMAKE_INSTALL_PREFIX=/home/OpenCV
只是这里通过图形界面的方式来进行配置,更加直观方便。
这里指对一个地方进行修改,CMAKE_BUILD_TYPE 值输入Release,其他保持不变,图中蓝色虚线部分显示了默认的安装目录,生成makefile文件最后执行make install时就会安装到这个目录,这里可以根据个人需求更改。
在这里的配置中我勾选了WITH_QT 去掉了WITH_TIFF,其他更多的配置也不清楚,OpenCV中文网站也没找到系统的说明,这里暂时不深究,点击Generate生成配置文件。
进入OpenCV-x86目录可以查看Makefile文件,可以留意文件的生成时间
是否和刚才的生成时间一致。
4、接下来在OpenCV-x86 分别执行make和make install即可完成编译安装。
5、安装完成后需要对系统相关环境变量进行配置:
sudo gedit /etc/ld.so.conf.d/opencv.conf
将以下内容添加到最后:
/usr/local/lib
接下来配置库:
sudo ldconfig
更改环境变量:
sudo gedit /etc/bash.bashrc
在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。
./build_all.sh
这样就对例程目录下的源文件进行了编译,这里运行一个人脸检测的程序,终端中运行:
./facedetect
--cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalfa ce_alt.xml" --scale=1.5 lena.jpg
得到的结果如下图:
本文相关及推荐参考:
【1】/web/2010/04/installing-opencv-2-1 -in-ubuntu/
【2】/jasonque/article/details/8267983
【3】/a/201203/15774.html。