opencv编译与安装
opencv dnn编译
opencv dnn编译要编译OpenCV DNN模块,你需要按照以下步骤进行操作:1. 下载OpenCV源代码:你可以从OpenCV的官方网站上下载最新的源代码。
确保下载与你使用的OpenCV版本相对应的源代码。
2. 安装依赖项:在编译OpenCV DNN之前,你需要确保系统中已安装一些依赖项,如CMake、gcc、g++等。
使用以下命令安装依赖项: ```sudo apt-get install build-essential cmakesudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-devsudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-devsudo apt-get install libatlas-base-dev gfortran libeigen3-dev```3. 创建并进入一个构建目录:在OpenCV源代码的根目录下创建一个构建目录,并进入该目录。
```mkdir buildcd build```4. 运行CMake命令生成Makefile:```cmake ..```如果你想要自定义编译选项,可以在上述命令后面添加一些选项,如:```cmake -D CMAKE_BUILD_TYPE=Release ..```这将生成一个Release版本的Makefile。
5. 编译OpenCV DNN:运行make命令来编译源代码。
```make```这将会编译OpenCV的所有模块,包括DNN模块。
6. 安装OpenCV:在编译完成后,运行以下命令来安装OpenCV。
```sudo make install```这将会将OpenCV安装到系统中。
完成上述步骤后,你应该成功编译并安装了OpenCV DNN模块。
Windows10+VisualStudio2017+CMake+OpenCV编译、开发环。。。
Windows10+VisualStudio2017+CMake+OpenCV编译、开发环。
由于最近需要使⽤OpenCV,本⼈需要在⾃⼰的PC上使⽤OpenCV,因此最近⼀直在研究如何使⽤Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于成功。
本⽂记录⼀下安装的过程以及遇到的问题,仅供参考。
开篇吐槽⼀下博客园的博⽂【⾃动保存和恢复】功能,说⽩了就是可以⾃动保存,但是⼏乎不能⾃动恢复,不要问我为什么这么说,呵呵。
本PC环境的详细配置:Windows 10 16299.192 64-bit,Visual Studio Enterprise 2017 15.5.2,OpenCV-3.4.0-vc14_vc15,CMake 3.10.1,CUDA 9.0开始正式介绍安装步骤:(1)下载并安装Visual Studio 2017。
由于本PC上安装的是最新的Visual Studio 2017企业版,因此本⼈主要研究如何在最新版的VS上编译并部署opencv开发环境。
如果各位搞不到Visual Studio 2017企业版的激活码,那么使⽤社区版也是没有问题的。
⾸先到官⽅⽹站下载Visual Studio 2017并安装。
在Visual Studio Installer中,勾选和C++开发相关的所有组建,并且确保安装过程顺利⽆误,这⼀点⾮常重要,因为必须确保VC++编译环境正确安装。
这⾥提醒⼀下,注意VS2017的版本号为15,因此对应的VC++编译环境的版本号为vc15,这个很重要,将决定opencv版本的安装。
(2)下载并安装OpenCV。
从官⽹下载OpenCV,本⼈使⽤的是最新版OpenCV-3.4.0-vc14_vc15,请注意,这⾥要下载⽀持vc15的版本,才能很好的兼容Visual Studio 2017,本⼈曾看⼀些博客写到⽤vc14(对应Visual Studio 2015)的版本在Visual Studio 2017中使⽤,亲测,⽑病有不少。
c++的opencv使用方法总结
C++的OpenCV使用方法总结在计算机视觉和图像处理领域,OpenCV是一个非常强大的开源库,它提供了丰富的功能和工具,用于处理图像和视频。
作为C++程序员,了解并熟练使用OpenCV库是非常重要的。
本文将对C++中使用OpenCV的方法进行总结,并探讨一些常见的应用和技巧。
一、安装和配置OpenCV在开始使用OpenCV之前,首先需要安装和配置这个库。
在Windows评台上,可以通过下载预编译的二进制文件进行安装;在Linux评台上,可以通过包管理器进行安装。
安装完毕后,还需进行一些环境配置,确保编译器能够正确信息OpenCV库文件。
二、基本图像处理1. 读取和显示图像在C++中使用OpenCV读取和显示图像非常简单,只需几行代码即可完成。
首先需要使用imread函数读取图像文件,然后使用imshow 函数显示图像。
在进行图像显示后,需要使用waitKey函数等待用户按下某个键,以便关闭显示窗口。
2. 图像的基本操作OpenCV提供了丰富的图像处理函数,包括图像缩放、旋转、平移、通道拆分与合并等。
这些函数可以帮助我们对图像进行各种基本操作,从而满足不同的需求。
三、特征提取与描述1. Harris角点检测Harris角点检测是一种经典的特征点检测方法,它可以用来识别图像中的角点。
在OpenCV中,我们可以使用cornerHarris函数来实现Harris角点检测,然后对检测结果进行筛选和标记。
2. SIFT特征提取SIFT是一种广泛应用的特征提取算法,它具有旋转不变性和尺度不变性。
在OpenCV中,我们可以使用SIFT算法来提取图像的关键点和特征描述子,从而实现图像匹配和目标识别等功能。
四、图像分类与识别1. 使用支持向量机(SVM)进行图像分类OpenCV提供了对机器学习算法的支持,包括SVM分类器。
我们可以使用SVM对图像进行分类,从而实现图像识别和目标检测等功能。
2. 使用深度学习模型进行图像识别近年来,深度学习在图像识别领域取得了显著的成就。
java opencv编译
java opencv编译Java OpenCV 是一种基于Java语言的计算机视觉库,可以用来处理图像和视频数据。
它提供了丰富的功能和算法,使开发者能够轻松地实现图像处理、目标检测、人脸识别等复杂任务。
编译Java OpenCV 的过程相对简单,但需要一些准备工作。
首先,需要下载并安装Java开发工具包(JDK)以及OpenCV库。
然后,在编写Java代码之前,需要配置开发环境,将OpenCV库导入到项目中。
在配置好开发环境之后,就可以开始编写Java代码了。
首先,需要导入OpenCV库的相关类和方法。
可以使用import语句将相应的类导入到代码中,以便使用它们提供的功能。
编写Java OpenCV 的代码时,可以根据具体的需求选择合适的功能和算法。
比如,如果想要处理图像,可以使用OpenCV提供的图像处理方法,如图像滤波、边缘检测、图像分割等。
如果想要进行目标检测,可以使用OpenCV提供的目标检测算法,如Haar特征分类器、HOG特征分类器等。
如果想要进行人脸识别,可以使用OpenCV提供的人脸识别算法,如LBPH算法、Eigenfaces算法等。
在编写Java OpenCV 的代码时,需要注意一些细节。
首先,需要确保导入的OpenCV库和代码中使用的OpenCV版本一致。
其次,需要合理地使用内存和资源,避免内存泄漏和资源浪费。
此外,还需要处理异常情况,确保代码的健壮性和稳定性。
编写完成Java OpenCV 的代码后,就可以进行编译和运行了。
可以使用命令行工具或集成开发环境(IDE)来进行编译和运行。
编译过程中,需要将OpenCV库链接到Java代码中,确保代码能够正确地调用和使用OpenCV提供的功能和算法。
在编译和运行Java OpenCV 的过程中,可能会遇到一些问题和错误。
这时,可以通过查阅OpenCV官方文档、搜索互联网或向相关论坛提问来获取帮助和解决方案。
总结起来,Java OpenCV 是一种强大的计算机视觉库,可以用来处理图像和视频数据。
OpenCv-freetype模块的编译(支持中文输出到图片)
OpenCv-freetype模块的编译(⽀持中⽂输出到图⽚)opencv的函数putText⽆法正确显⽰中⽂。
⽤freetype模块可以加载字体,⽀持中⽂显⽰。
在opencv-contrib⾥模块有freetype,但是在window系统⾥直接⽤cmake编译,⽆法显⽰出freetype模块。
⽹上查询资料好多都在MAC和Linux上配置。
查询了内外⽹,终于找到⽅法,可以在Window上编译通过。
朋友们,如果没有编译成功,评论我把编译好的共享。
1.编译安装freetype下载地址:默认Configure,Generate,OpenProject. 需要⽣成Debug和Release. 记得ALL_BUILD后INSTALL.系统变量添加变量FREETYPE_DIR,⽬录为C:/Program Files/freetype2.编译安装harfbuzz仓库地址:初次Configure后,钩选HB_HAVE_FREETYE,再次Configure.设置好如下值系统变量添加变量HARFBUZZ_DIR,⽬录为C:/Program Files/harfbuzz3.修改modules/freetype/CMakeLists.txt替换如下内容set(the_description "FreeType module. It enables to draw strings with outlines and mono-bitmaps/gray-bitmaps.")find_package(Freetype REQUIRED)# find_package(HarfBuzz) is not included in cmakeset(HARFBUZZ_DIR "$ENV{HARFBUZZ_DIR}" CACHE PATH "HarfBuzz directory")find_path(HARFBUZZ_INCLUDE_DIRSNAMES hb-ft.h PATH_SUFFIXES harfbuzzHINTS ${HARFBUZZ_DIR}/include)find_library(HARFBUZZ_LIBRARIESNAMES harfbuzzHINTS ${HARFBUZZ_DIR}/lib)find_package_handle_standard_args(HARFBUZZDEFAULT_MSG HARFBUZZ_LIBRARIES HARFBUZZ_INCLUDE_DIRS)if(NOT FREETYPE_FOUND)message(STATUS "freetype2: NO")else()message(STATUS "freetype2: YES")endif()if(NOT HARFBUZZ_FOUND)message(STATUS "harfbuzz: NO")else()message(STATUS "harfbuzz: YES")endif()if(FREETYPE_FOUND AND HARFBUZZ_FOUND)ocv_define_module(freetype opencv_core opencv_imgproc PRIVATE_REQUIRED ${FREETYPE_LIBRARIES} ${HARFBUZZ_LIBRARIES} WRAP python) ocv_include_directories(${FREETYPE_INCLUDE_DIRS} ${HARFBUZZ_INCLUDE_DIRS})else()ocv_module_disable(freetype)endif()4.编译安装OpenCv初次Configure后,选择contrib模块路径,同时把模块集合在opencv_world上,可以如下勾选。
cmake opencv viz 模块编译
cmake opencv viz 模块编译摘要:1.编译OpenCV 的Viz 模块2.使用CMake 进行编译3.编译过程的注意事项正文:编译OpenCV 的Viz 模块OpenCV 是一个非常强大的计算机视觉库,其中包含了各种各样的功能模块。
Viz 是一个用于实现可视化功能的模块,可以方便地对图像进行处理和显示。
在本文中,我们将介绍如何使用CMake 来编译OpenCV 的Viz 模块。
使用CMake 进行编译CMake 是一个跨平台的构建系统,可以用于编译C、C++等语言的程序。
它具有自动化构建、依赖管理等功能,大大简化了开发者的工作。
要使用CMake 编译OpenCV 的Viz 模块,需要先安装CMake,然后创建一个CMakeLists.txt 文件来配置编译选项。
在创建CMakeLists.txt 文件时,需要指定OpenCV 的源代码路径、编译器和一些编译选项。
例如,可以这样配置:```cmake_minimum_required(VERSION 3.0)project(opencv_viz)set(CMAKE_CXX_STANDARD 11)set(CMAKE_CXX_STANDARD_REQUIRED ON)find_package(OpenCV REQUIRED core highgui imgcodecs videoio viz)```上述配置指定了C++11 标准,并要求使用OpenCV 的core、highgui、imgcodecs、videoio 和viz 模块。
接下来,可以添加以下内容来指定编译器和编译选项:```set(CMAKE_CXX_COMPILER "g++")set(CMAKE_BUILD_TYPE Release)```编译过程的注意事项在配置好CMakeLists.txt 文件后,可以使用CMake 来生成Makefile,然后使用Make 来编译代码。
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下安装opencv
Opencv版本:2.4.4二、安装步骤:1、解压缩OpenCV-2.4.4a.tar.bz2安装包:tar jxvf OpenCV-2.4.4a.tar.bz2cd opencv-2.4.42、用cmake进行编译:mkdir release244 //目录名可以任意命名cd release244cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/public/software/opencv244-D BUILD_PYTHON_SUPPORT=ON ..//注意-D CMAKE_INSTALL_PREFIX表示安装目录,我这里选为/public/software/opencv2443、编译和安装上面的步骤执行成功后再执行:makemake install即可完成编译和安装三、安装后的配置1、准备环境变量文件:vi /etc/profile.d/opencv-env.shexport LD_LIBRARY_PATH=/public/software/opencv244/lib:$LD_LIB RARY_PATHexport INCLUDE=/public/software/opencv244/include/opencv:/publi c/software/opencv244/include/opencv2:$INCLUDEexport PKG_CONFIG_PATH=/public/software/opencv244/lib/pkgconf ig//这个文件是根据之前的安装目录写的,PKG_CONFIG_PATH这个必须写,其他两个貌似也可以不写2、载入环境变量:. /etc/profile.d/opencv-env.sh四、算例演示1、准备算例:cat myopencv.cpp#include "highgui.h"int main( int argc, char** argv )IplImage* img = cvLoadImage( argv[1] ); cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE ); cvShowImage( "Example1", img );cvWaitKey(0);cvReleaseImage( &img );cvDestroyWindow( "Example1" );}2、编译g++ `pkg-config opencv --libs --cflags opencv` myopencv.cpp -o myopencv编译成功后会生成可执行文件myopencv3、运行向此目录下上传一张图片,比如我这里是Lena.jpg执行:./myopencv Lena.jpg便可弹出图片。
OpenCV安装与配置
OpenCV安装与配置1.下载和安装OpenCVSDK。
官网:/找到OpenCVWindows版下载下来;得到自解压程序“opencv2.x.x.exe”。
2.配置环境变量。
计算机->属性->高级系统设置->高级->环境变量->(双击)系统PATH->添加相应路径,与之前已经有的值用“;”分开。
添加:opencv\build 86\vc12\bin这个路径。
3.工程包含(include)目录配置。
文件->新建->项目->选择【Win32控制台程序】,命名test1,选择路径,单击确定;进入【Win32应用程序向导】,下一步,勾选空项目;解决方案资源管理器【源文件】右键单击->添加->新建项,新建一个.cpp文件。
【菜单栏】里单击【视图】->【属性管理器】;之后展开【Debug|Win32】->【erDirectories】,右键单击【属性】,打开属性页面.【通用属性】->【VC++目录】->【包含目录】添加3个目录:D:\ProgramFiles\opencv\build\include;D:\ProgramFiles\opencv\build\include\opencv;D:\ProgramFiles\opencv\build\include\opencv2;4.工程库(lib)配置。
【通用属性】->【VC++目录】->【库目录】添加:D:\ProgramFiles\opencv\build 86\vc12\lib;D:\ProgramFiles\opencv\build 86\vc12\statib;5.链接库配置。
【通用属性】->【链接器】->【输入】->【附加依赖项】后输入:D:\opencv\opencv\build\includeD:\opencv\opencv\build\include\opencvD:\opencv\opencv\build\include\opencv2D:\opencv\opencv\build 86\vc12\libD:\opencv\opencv\build 86\vc12\staticlibopencv_ts300d.libopencv_world300d.libIlmImfd.liblibjasperd.liblibjpegd.liblibpngd.liblibtiffd.liblibwebpd.libopencv_calib3d300d.libopencv_core300d.libopencv_features2d300d.libopencv_flann300d.lib opencv_highgui300d.lib opencv_imgcodecs300d.lib opencv_imgproc300d.lib opencv_ml300d.lib opencv_objdetect300d.lib opencv_photo300d.lib opencv_shape300d.lib opencv_stitching300d.lib opencv_superres300d.lib opencv_video300d.lib opencv_videoio300d.lib opencv_videostab300d.lib Zlibd.libopencv_ts300.lib opencv_world300.lib IlmImf.libippicvmt.lib libjasper.liblibjpeg.liblibpng.liblibtiff.liblibwebp.libopencv_calib3d300.lib opencv_core300.lib opencv_features2d300.lib opencv_flann300.libopencv_highgui300.libopencv_imgcodecs300.libopencv_imgproc300.libopencv_ml300.libopencv_objdetect300.libopencv_photo300.libopencv_shape300.libopencv_stitching300.libopencv_superres300.libopencv_video300.libopencv_videoio300.libopencv_videostab300.libZlib.lib6.在Windows下加入OpenCV动态链接库。
Opencv安装与配置(xp+vs2010+opencv2.4.9)
Opencv安装与配置(xp+vs2010+opencv2.4.9)工具:VS2010Opencv2.4.9WinXP步骤:1. 下载软件下载OpenCV-2.4.9,是个自解压文件,大小350MB左右。
双击解压到%opencv%(凡是出现%opencv%的地方均替换为你自己opencv 的路径全名,如D:\program\opencv)。
2. 配置opencv的环境变量OpenCV库函数需要通过用户环境变量调用所需要的库文件。
点击:开始->计算机(右击)->属性->高级系统设置->高级->环境变量,在用户变量里增加一项:变量名:path变量值:%opencv%\opencv\build\x86\vc10\bin如果已经有path项,在其变量值结尾添加英文分号“;”,再加上上面那个值。
这里的“x86”代表目标程序是32位的,如果要写64位的程序则选择“x64”文件夹。
并不是根据开发环境(你的机器)选择的。
后面的“vc10”代表使用Visual C++ 2010开发。
如果使用Visual Studio 2012,则填写“E:\softwares\opencv\build\x86\vc11\bin”。
OpenCV2.4.9已经为Visual Studio编译器预先配置好了动态库和静态库,因此不需要cmake再次进行编译。
1. 32位系统 & VC2010,库目录: %OpenCV%\build\x86\vc10\lib2. 64位系统 & VC2010,库目为:%OpenCV%\build\x64\vc10\lib因为2.4.9版本的opencv内嵌了TBB的功能,所以取消了TBB直接安装,这样就不需要再配置TBB环境变量了。
以上步骤完成后重启电脑使配置的环境变量生效。
3. 工程配置1) 创建一个空的Win32控制台程序opencvtest2) 配置include打开 项目---属性。
opencv sample 编译
opencv sample 编译标题:使用OpenCV样本进行图片识别的实践引言:最近,我对计算机视觉领域产生了浓厚的兴趣。
为了更好地了解和掌握图像处理和识别的技术,我开始使用OpenCV样本进行实践。
通过这个过程,我学到了很多关于图像识别的知识,并且获得了一些令人惊喜的结果。
在本文中,我将分享我在使用OpenCV样本进行图片识别的实践过程中的一些经验和心得。
1. 安装和配置OpenCV:要使用OpenCV进行图像处理和识别,首先需要安装和配置OpenCV 库。
我选择了在Linux系统下进行安装,通过从OpenCV官方网站下载源代码并按照说明进行编译和安装,我成功地将OpenCV集成到我的开发环境中。
2. 加载和处理图片:在使用OpenCV进行图片识别之前,我们首先需要加载和处理需要识别的图片。
我尝试了不同的图片加载方法,并使用OpenCV提供的函数进行图像的预处理。
通过调整图像的亮度、对比度和色彩平衡,我成功地提高了图片的质量和清晰度,为后续的识别工作做好了准备。
3. 图片特征提取和匹配:在加载和处理图片后,我开始使用OpenCV提供的特征提取和匹配算法来识别图片中的目标物体。
通过使用SIFT(尺度不变特征变换)算法,我成功地从图片中提取出了关键点和描述子。
然后,我使用FLANN(快速最近邻搜索库)算法进行特征匹配,将提取出的特征与样本库中的特征进行比较和匹配。
这一步骤是整个识别过程的核心,通过调整算法的参数和优化匹配结果,我逐渐提高了图片识别的准确性和稳定性。
4. 结果评估和改进:在进行图片识别之后,我对结果进行了评估和改进。
通过与样本库中的真实标签进行对比,我计算出了识别准确率和错误率。
通过分析错误识别的原因和模式,我调整了算法的参数和优化了图像处理的步骤,逐渐提高了识别的准确性和稳定性。
此外,我还尝试了不同的样本库和测试图片,以验证算法的泛化能力和鲁棒性。
结论:通过使用OpenCV样本进行图片识别的实践,我深入了解了图像处理和识别的原理和技术。
QTOpenCV的安装与配置(win7_64+Qt_5.6.1+opencv_3.1.0)
QT OpenCV的安装与配置(win7_64+Qt_5.6.1+opencv_3.1.0)标签:qtopencv3.0.0win7_64安装组合:Win7-64bits+ qt-opensource-windows-x86-mingw492-5.5.0+ opencv-3.0.0+cmake-3.6.0-rc2-win32-x86感谢以下网友的分享:https:///2014/08/19/qt-5-3-1-64-bit-mingw-windows//question_113329_opencv-3-0-videoio-error/qiurisuixiang/article/details/8665278/info-detail-500574.html准备工作1、安装QT 5.6.0安装在: E:\Qt\Qt5.6.0QT下载地址:/official_releases/64bit QT下载地址是:/projects/qtx64/?source=typ_redirect2、安装opencvOpenCV官网:/下载有OpenCV 3.0.0解压至: E:\Qt\opencv3、安装cmake从CMake下载3.4.0-rc3-win32-x86安装至: E:\Qt\cmakeCMake下载地址:/cmake/resources/software.html安装CMake的的时候,注意安装路径不能有中文和空格,在安装过程中,勾选为所有用户加入到环境变量()4、配置环境变量主要是将 E:\Qt\Qt5.6.1\5.6\mingw49_32\bin 添加到系统环境变量中1.生成Makefiles打开CMake,配置源码路径和生成物(D:/opencvQT)的目标路径:点击Configure,在弹出的框中选择MinGW Makefiles ,并勾选 Specify native compilers:接着配置C和C++编译器路径:C: C:\Qt\Qt5.5.0\Tools\mingw492_32\bin\gcc.exe ->E:\Qt\Qt5.6.1\Tools\mingw492_32\bin\ gcc.exe C++: C:\Qt\Qt5.5.0\Tools\mingw492_32\bin\g++.exe ->E:\Qt\Qt5.6.1\Tools\mingw492_32\bin\ g++.exe点击finish。
opencv源码编译
opencv源码编译1.⾸先安装ffmpegapt-get install ffmpeg2.安装opencv对ffmeg的依赖# for Compiling OpenCV with ffmpeg supportapt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devapt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev3.下载opencv源码并编译>> cd ~/<my_working_directory>>> git clone https:///opencv/opencv.git>> cd opencv>> git checkout 3.4.6>> cd ..>> git clone https:///opencv/opencv_contrib.git>> cd opencv_contrib>> git checkout 3.4. 6>> cd ~/<my_working_directory>/opencv>> mkdir build>> cd build>> cmake -D WITH_CUDA=ON \-D CMAKE_BUILD_TYPE=Release \-D CMAKE_INSTALL_PREFIX=/usr/local \-D WITH_IPP=OFF \-D WITH_FFMPEG=ON \-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \-D BUILD_TESTS=OFF \-D BUILD_PERF_TESTS=OFF \-D INSTALL_PYTHON_EXAMPLES=OFF \-D INSTALL_C_EXAMPLES=OFF \-D PYTHON_EXECUTABLE=(which python) \ -D BUILD_EXAMPLES=OFF .. ( cmake -D WITH_CUDA=ON -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_IPP=OFF -D WITH_FFMPEG=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D PYTHON_EXECUTABLE=(which python) -DBUILD_EXAMPLES=OFF ..)>> make -j$nproc>> make install注意: issue:Issue:/tmp/opencv-3.2.0/modules/core/include/opencv2/core/cuda/vec_math.hpp(203): error: calling a constexpr __host__ function("abs") from a __device__ function("abs") is not allowed. The experimental flag '--expt-relaxed-constexpr' can be used to allow this.Solve:对vec_math.hpp做如下修改(把203⾏和205⾏的 ::abs 也注释掉):CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, uchar, uchar)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, ::abs, char, char)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, ushort, ushort)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, ::abs, short, short)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, ::abs, int, int)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, uint, uint)==>CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, uchar, uchar)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, char, char)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, ushort, ushort)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, short, short)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, ::abs, int, int)CV_CUDEV_IMPLEMENT_VEC_UNARY_FUNC(abs, /*::abs*/, uint, uint)Issue:/home/***/software/opencv_contrib/modules/rgbd/src/odometry.cpp:41:45: fatal error: unsupported/Eigen/MatrixFunctions: No such file or directorySolve:cd /usr/include/eigen3/sudo cp -r unsupported/ ..sudo cp -r Eigen/ ..Issue:/opencv-3.4.1/modules/python/src2/cv2.cpp:22:40: fatal error: pyopencv_generated_include.h: No such file or directory#include "pyopencv_generated_include.h"Solve:在opencv⽂件夹下⾯运⾏下⾯代码python ./modules/python/src2/gen2.py ./build/modules/python_bindings_generator ./build/modules/python_bindings_generator/headers.txt Issue:/software/opencv/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:42: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directorySolve:cp -rf ../opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d modules/features2d/include/opencv2/Issue:/software/opencv/modules/cudacodec/src/precomp.hpp:60:37: fatal error: dynlink_nvcuvid.h: No such file or directory#include <dynlink_nvcuvid.h>sovle:1. just don't compile opencv_cudacodec2. 修改以下⽂件: ./opencv/modules/cudacodec/src/cuvid_video_source.hpp./opencv/modules/cudacodec/src/video_decoder.hpp./opencv/modules/cudacodec/src/frame_queue.hpp./opencv/modules/cudacodec/src/video_parser.hpp./opencv/modules/cudacodec/src/precomp.hpp 将if CUDA_VERSION >= 9000 修改为: if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000#if CUDA_VERSION >= 9000 && CUDA_VERSION < 10000#include <dynlink_nvcuvid.h>#else#include <nvcuvid.h>#endifProcessing math: 0%。
OpenCV安装与移植
OpenCV的Ubuntu安装和Smart210_ARM开发板移植软硬件环境:宿主机:Ubuntu 10.04 32bit开发板:友善之臂Smart210OpenCV:2.4.10其他:cmake version 2.8.0arm-linux-g++ 4.5.1 / arm-linux-gcc 4.5.1查看Ubuntu版本号的指令为:sudo lsb_release –a,效果如下图1:图1:查看ubuntu的版本号1.Opencv2.4.10在Ubuntu上安装●首先安装必要的软件库安装GCC:sudo apt-get install build-essential安装Cmake:sudo apt-get install cmake安装Git(可选):sudo apt-get install git安装GTK开发版:sudo apt-get install libgtk2.0-dev安装pkg-config:sudo apt-get install pkg-config安装Python:sudo apt-get install python3.2-dev安装Numpy:sudo apt-get install python-numpy安装媒体包:sudo apt-get install ffmpeg安装可选媒体包:sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev●在OpenCV官网下载源码包:/●在/home/brodon/Documents文件夹下解压缩后,命令行输入cmake-gui,配置opencv的x86版本。
具体的操作见图2,注意在安装中,放弃了ffmpeg,OpenGL 库的支持。
cmake完成后进入opencv-x86文件夹,输入make 和make install安装。
Win7_64位_Qt5.2_CMake2.8编译OpenCV2.4.6
1、从官网上下载最新的Qt Creator、CMake、OpenCV,例如:/official_releases/qt/5.2/5.2.1/qt-opensource-windows-x86-ming w48_opengl-5.2.1.exe/files/v2.8/cmake-2.8.12.2-win32-x86.exehttps:///projects/opencvlibrary/files/opencv-win/2.4.8/opencv-2.4.8.exe/downlo ad2、关于重新安装第一次尝试安装OpenCV时没有重新安装Qt,感觉本来一直用着Qt挺好的,只是加一个库。
但由于Qt曾经安装过多个版本,不知道哪里影响了,在后面编译OpenCV 时一直出错,如图提示:缺少CMake_C_COMPILER_ENV_VAR等。
这个问题困扰了一上午,多次查看环境变量无果,但后来在环境变量中看到了以前版本Qt的路径等,还排在前面。
干脆卸载掉Qt重新安装。
3、安装Qt注意两点:一是记得勾选MinGW这个选项;二是记得安装后把类似于“C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin”“C:\Qt\Qt5.2.1\Tools\mingw48_32\bin”“C:\Qt\Qt5.2.1\Tools\mingw48_32\i686-w64-mingw32\lib”的三个路径添加到环境变量中。
其他的过程都一路next就可以了。
4、安装CMake注意两点:一是安装路径不能有中文和空格,不妨“C:\CMake”,把2.X也去掉了;二是记得安装时把CMake添加到环境变量中(记得中途勾选的该选项)5、解压OpenCV包下载下来的是*.exe文件,其实双击后是个类似于解压的过程,没有实质的改变。
设定解压路径例如“D:\”,解压后找到源码的文件例如“D:\opencv\sources”内容大致如下图:6、使用CMake编译OpenCV及问题解决打开CMake-gui.exe源路径Source code:填写opencv解压得到的sources目标路径Build the binaries:填写你要把编译后的东西放到的地方(随意找个合适的地方)例如“D:\OpenCV\opencvbuild”点击configure,选MinGW Makefile,下面选第一项“use default native compilers”,表示选择默认的编译器,第二项是自己定义的编译器Finish后CMake首先监测一些参数,正常应出现一大片红色,但这个地方可能有error,容易出现的问题是提示各种找不到环境变量,这时请回看“第2步重新安装”部分内容。
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
Cmake2.8.10编译OpenCV2.4.3配置VS2010终结版
我想写下这个文档的目的,是这几天被Cmake2.8.10编译OpenCV2.4.3配置VS2010,在window7,64位操作系统环境中。
本人是一个电脑新手,也仅仅是对VS2010有稍微的了解,所以配置和编译过程主要是在OpenCV中文网的“visual studio 2010下安装OpenCV及相关配置”这篇文章的参照下完成的,当然了也浏览了很多其他的相关的配置贴,但是由于时间问题,没有一一列举,总之感谢你们。
希望能帮助到你,让你顺顺利利的解决。
首先,下载文件官方地址:/projects/opencvlibrary/总之,在这个网站下,你可以下到最新的,目前下到的是OpenCV 2.4.3接着是:Cmake,可以去官网下载最新的:/目前更新到2.8.10还有就是Intel TBB了,目前已经是TBB4.1了/当这些都准备好了,就开始安装了:1、首先安装CMAKE2.8.10,放到你想的文件夹下,如本人的“D:\TBB”然后将OpenCV2.4.3,安装到你将要放置OPENCV的地方,如本人的“D:\opencv”接着,解压INTEL TBB4.1,比如将OPENCV和TBB都放在D:里面。
如本人的把他们都放在D盘下,主要是方便,担心路径的对后面配置过程的影响,反正第一次,很多东西以简单的方式进行,等以后了解了,绝对不这么做。
(PS,刚刚开始装Arcgis也是一样的,但是现在我可以把它放在任意的文件夹下了,加油,努力)接着:在一个你喜欢文件夹下创建子目录D:\Program\cv2010,用于存放编译结果。
D:\opencv\build\x86\vc10\bin;D:\TBB\bin\ia32\vc10;检查D:\opencv\build\x86\vc10\bin;D:\TBB\bin\ia32\vc10;是否已经被加入到环境变量(我的电脑-属性-环境变量)PATH,如果没有,请加入。
这里注意下,我在DB(每个人电脑不同,这里也不同)的用户变量这里也建了一个Path。
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安装和环境变量配置
OpenCV安装和环境变量配置一、准备工作这里我用到的平台是Microsoft V isual Studio 2008 和OpenCV2.0OpenCV2.0下载地址/index.php/Download。
安装OpenCV2.0,假定安装目录为:D:Program FilesOpenCV2.0CMake下载地址/cmake/resources/software.html (选择Win32 Installer 安装版本)。
二、编译OpenCV1. 用CMake导出VC++ 项目文件■ 运行cmake-gui,设置路径为OpenCV安装路径(例如:D:\Program Files\OpenCV2.0),并创建子目录D:\Program Files\OpenCV2.0\vc2008,用于存放编译结果。
■ 然后点configure,在弹出的对话框内选择V isual Studio 9 2008。
■ Microsoft V isual Studio 2008 正式版支持OpenMP,所以ENABLE_OPENMP这个选项要勾上;如果是Express版本,则不支持OpenMP,所以需要取消ENABLE_OPENMP选项。
■ 最后再点击Generate。
2. 编译OpenCV Debug 和Release版本库完成上一步骤后,将在D:\Program Files\OpenCV2.0\vc2008目录下生成OpenCV.sln的VC Solution File,请用VC++ 2008 Express打开OpenCV.sln,然后执行如下操作:■ 在Debug下,选择Solution Explorer里的Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
■ 在Release下,选择Solution Explorer里的Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
Opencv3.2.0交叉编译和移植
Opencv3.2.0交叉编译和移植1. 从官⽹()下载opencv3.2.0源码压缩包。
2. 将压缩包上传到Ubuntu下的⼯作⽬录(/home/work)下,使⽤命令tar zxvf opencv-3.2.0.tar.gz解压到当前⽂件夹。
3. cd opencv-3.2.0/platforms/linux进⼊linux编译⽬录。
4. sudogedit arm.toolchain.cmake修改该cmake⽂件内容如下:if(COMMAND toolchain_save_config)return() # prevent recursive callendif()set(CMAKE_SYSTEM_NAME Linux)set(CMAKE_SYSTEM_VERSION 1)if(NOT DEFINED CMAKE_SYSTEM_PROCESSOR)set(CMAKE_SYSTEM_PROCESSOR arm-linux-gnueabihf)else()#message("CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}")endif()include("${CMAKE_CURRENT_LIST_DIR}/gnu.toolchain.cmake")if(CMAKE_SYSTEM_PROCESSOR STREQUAL arm AND NOT ARM_IGNORE_FP)set(FLOAT_ABI_SUFFIX "")if(NOT SOFTFP)set(FLOAT_ABI_SUFFIX "hf")endif()endif()if(NOT "x${GCC_COMPILER_VERSION}" STREQUAL "x")set(__GCC_VER_SUFFIX "-${GCC_COMPILER_VERSION}")endif()#CROSS COMPILE SETTING#set(CMAKE_C_COMPILER "/usr/local/linaro-multilib-2013.09-gcc4.8/bin/arm-linux-gnueabihf-gcc")#set(CMAKE_CXX_COMPILER "/usr/local/linaro-multilib-2013.09-gcc4.8/bin/arm-linux-gnueabihf-g++")#set(CMAKE_FIND_ROOT_PATH "/usr/local/linaro-multilib-2013.09-gcc4.8")#set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)#set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)#set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)set(TOOLCHAIN_DIR "/usr/local/linaro-multilib-2013.09-gcc4.8/")set(CMAKE_C_COMPILER "/usr/local/linaro-multilib-2013.09-gcc4.8/bin/arm-linux-gnueabihf-gcc")set(CMAKE_CXX_COMPILER "/usr/local/linaro-multilib-2013.09-gcc4.8/bin/arm-linux-gnueabihf-g++")set(CMAKE_FIND_ROOT_PATH /usr/local/linaro-multilib-2013.09-gcc4.8/)set(ARM_LINUX_SYSROOT /usr/local/linaro-multilib-2013.09-gcc4.8 CACHE PATH "ARM cross compile system root")link_directories("/usr/local/linaro-multilib-2013.09-gcc4.8")link_libraries("/usr/local/linaro-multilib-2013.09-gcc4.8/lib/libz.so.1")#MESSAGE(STATUS "This is cross compile dir --->"$(CMAKE_C_COMPILER))#if(NOT DEFINED CMAKE_C_COMPILER)# find_program(CMAKE_C_COMPILER NAMES ${GNU_MACHINE}${FLOAT_ABI_SUFFIX}-gcc${__GCC_VER_SUFFIX})#else()# #message(WARNING "CMAKE_C_COMPILER=${CMAKE_C_COMPILER} is defined")#endif()#if(NOT DEFINED CMAKE_CXX_COMPILER)# find_program(CMAKE_CXX_COMPILER NAMES ${GNU_MACHINE}${FLOAT_ABI_SUFFIX}-g++${__GCC_VER_SUFFIX})#else()# #message(WARNING "CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} is defined")#endif()#if(NOT DEFINED CMAKE_LINKER)# find_program(CMAKE_LINKER NAMES ${GNU_MACHINE}${FLOAT_ABI_SUFFIX}-ld${__GCC_VER_SUFFIX} ${GNU_MACHINE}${FLOAT_ABI_SUFFIX}-ld) #else()# #message(WARNING "CMAKE_LINKER=${CMAKE_LINKER} is defined")#endif()#if(NOT DEFINED CMAKE_AR)# find_program(CMAKE_AR NAMES ${GNU_MACHINE}${FLOAT_ABI_SUFFIX}-ar${__GCC_VER_SUFFIX} ${GNU_MACHINE}${FLOAT_ABI_SUFFIX}-ar)#else()# #message(WARNING "CMAKE_AR=${CMAKE_AR} is defined")#endif()#if(NOT DEFINED ARM_LINUX_SYSROOT AND DEFINED GNU_MACHINE)# set(ARM_LINUX_SYSROOT /usr/${GNU_MACHINE}${FLOAT_ABI_SUFFIX})#endif()#if(NOT DEFINED CMAKE_CXX_FLAGS)# set(CMAKE_CXX_FLAGS "" CACHE INTERAL "")# set(CMAKE_C_FLAGS "" CACHE INTERAL "")# set(CMAKE_SHARED_LINKER_FLAGS "" CACHE INTERAL "")# set(CMAKE_MODULE_LINKER_FLAGS "" CACHE INTERAL "")# set(CMAKE_EXE_LINKER_FLAGS "" CACHE INTERAL "")# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi")# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi")# if(CMAKE_SYSTEM_PROCESSOR STREQUAL arm)# set(CMAKE_CXX_FLAGS "-mthumb ${CMAKE_CXX_FLAGS}")# set(CMAKE_C_FLAGS "-mthumb ${CMAKE_C_FLAGS}")# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,nocopyreloc")# endif()# if(CMAKE_SYSTEM_PROCESSOR STREQUAL arm)# set(ARM_LINKER_FLAGS "-Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")# elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)# set(ARM_LINKER_FLAGS "-Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")# endif()# set(CMAKE_SHARED_LINKER_FLAGS "${ARM_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}")# set(CMAKE_MODULE_LINKER_FLAGS "${ARM_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}")# set(CMAKE_EXE_LINKER_FLAGS "${ARM_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")#else()# #message(WARNING "CMAKE_CXX_FLAGS='${CMAKE_CXX_FLAGS}' is defined")#endif()set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mthumb -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi")set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb -fdata-sections -Wa,--noexecstack -fsigned-char -Wno-psabi")set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now ${CMAKE_SHARED_LINKER_FLAGS}") set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now ${CMAKE_MODULE_LINKER_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "-Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,--gc-sections -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now ${CMAKE_EXE_LINKER_FLAGS}")if(USE_NEON)message(WARNING "You use obsolete variable USE_NEON to enable NEON instruction set. Use -DENABLE_NEON=ON instead." )set(ENABLE_NEON TRUE)elseif(USE_VFPV3)message(WARNING "You use obsolete variable USE_VFPV3 to enable VFPV3 instruction set. Use -DENABLE_VFPV3=ON instead." )set(ENABLE_VFPV3 TRUE)endif()#set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${ARM_LINUX_SYSROOT})if(EXISTS ${CUDA_TOOLKIT_ROOT_DIR})set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${CUDA_TOOLKIT_ROOT_DIR})endif()set(TOOLCHAIN_CONFIG_VARS ${TOOLCHAIN_CONFIG_VARS}ARM_LINUX_SYSROOTENABLE_NEONENABLE_VFPV3CUDA_TOOLKIT_ROOT_DIR)set( CMAKE_SKIP_RPATH TRUE CACHE BOOL "If set, runtime paths are not added when using shared libraries." )set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)# macro to find programs on the host OSmacro( find_host_program )set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )if( CMAKE_HOST_WIN32 )SET( WIN32 1 )SET( UNIX )elseif( CMAKE_HOST_APPLE )SET( APPLE 1 )SET( UNIX )endif()find_program( ${ARGN} )SET( WIN32 )SET( APPLE )SET( UNIX 1 )set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )endmacro()# macro to find packages on the host OSmacro( find_host_package )set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )if( CMAKE_HOST_WIN32 )SET( WIN32 1 )SET( UNIX )elseif( CMAKE_HOST_APPLE )SET( APPLE 1 )SET( UNIX )endif()find_package( ${ARGN} )SET( WIN32 )SET( APPLE )SET( UNIX 1 )set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )endmacro()toolchain_save_config()5. 在opencv-3.2.0⽂件夹下新建编译⽂件夹mkdir build_src; cd build_src/ 进⼊编译⽂件夹。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012/3/6, 16:55:01
在fedora15的环境下编译与安装opencv,并测试人脸检测程序
第一步:由于opencv是在cmake工具下建立的工程,所以我们先要下载cmake,下载地址随便一搜都有,不多说。
下载到home的主目录下,这里我们是/home/lg。
看下面的命令:
#cd /home/lg
#tar xzvf CMake2.4.7.tar.gz .
#cd CMake2.4.7
#./boostrap
#gmake
#make install
这样cmake工具安装好了,并且可以直接使用cmake命令
根据cmake的编译规律,我们选择外部编译。
下载Opencv2.3.0到/home/lg
解压后进入Opencv2.3.0的目录下(这里的opencv与以前版本1.0的不一样,没有configure文件,所以我们执行不了./configure命令):
#mkdir build
#cd build
#cmake -D CMAKE_BUILD_TYPE=RELEASE -D
CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..(这条命令解析可以参考cmake教程,但是记住这里的第二个选项,我们将opencv安装在/usr/local目录下的)
#make
#make install
到这opencv编译完成,接下去是是opencv这个工具能正常使用。
记住这里的做法前一种对fedora有用,也就是说在fedora的环境下只能使用这种做法,但是ubuntu却可以使用两种方法。
顺便说一下,经常遇见apt-get命令,这是在ubuntu下使用获取软件包的命令,fedora使用的是yum,记住了,否则经常出现使用apt-get却获取不了软件包的情况。
方法1:在/etc/ld.so.conf.d下新建一个文件opencv.conf,里面输入/usr/local/lib
方法2:在/etc/ld.so.conf文件中加入/usr/local/lib这一行
然后执行
#ldconfig(root权限下)
#cp /usr/local/lib/pkconfig/opencv.pc /usr/lib/pkgconfig (或者是输入这个命令 export
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH)(pkconfig的用法见以前的博文)
至此opencv安装完成
我们可以找个例子来做实验
#cd /home/lg/Opencv2.3.0
#cd samples/cpp
#g++ `pkconfig --cflags --libs opencv` drawing.cpp -o
drawing(记住前面的两个引号是通过ESC下面的那个波浪符键获得
页次: 1
2012/3/6, 16:55:01
的)
现在我们编译那个人脸检测程序,在Opencv2.3.0/data/目录下有检测鼻子、眼睛的XML文件,这可以通过改build目录下的c目录下的facedetect文件获得。
#cd ..
#cd c
#g++ `pkconfig --cflags --libs opencv` facedetect.c -o
facedetect
到此结束!
页次: 2。