OpenCV环境搭建
在Linux下安装C++的OpenCV3

在Linux下安装C++的OpenCV3最近在看《学习OpenCV3》这本书,所以记录下我在ubuntu16.4下搭建C++版本OpenCV 3.4.5的过程。
⾸先请确保cuda,gcc, g++都安装好了,我这⾥是cuda 10.0,gcc-4.9.4和gcc-5.5.0,它们之间的版本只要是配套的应该就没问题,我原本是按照Francesco Piscani油管视频:进⾏安装OpenCV 3.1.0 ,但是编译⽼是报错,后⾯怀疑是⾃⼰⽤的cuda版本有点新,⽽以前的Opencv 3.1.0有点跟不上配置,但之后就按照Davidhwj的进⾏配置成功了。
安装步骤:1. 更新系统源sudo apt-get update2. 安装依赖项sudo apt-get install cmakesudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev3. 下载OpenCV 3.4.5官⽹下载地址:之后将其解压⾄根⽬录下,我这⾥是home/下。
之后创建release⽂件夹:cd opencv-3.4.5~/opencv-3.4.5$ mkdir release4. 设置cmake参数~/opencv-3.4.5/$ cd release~/opencv-3.4.5/release/$ sudo cmake~/opencv-3.4.5/release/$ sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..或者使⽤默认安装设定:~/opencv-3.4.5/release/$ sudo cmake ..在cmake过程中常会报错ippicv_2019_lnx_intel64_general_20180723.tgz下载超时,解决办法就是到⾥下载该压缩包,之后打开opencv-3.4.5/3rdparty/ippicv/ippicv.cmake⽂件,然后复制下图中选中的命名后缀:在opencv-3.4.5/3rdparty/ippicv/下创建⽂件downloads,然后在downloads下创建⽂件名为linux-32e315a5b106a7b89dbed51c28f8120a48b368b4,并将之前下载的ippicv压缩包放⼊该⽂件夹下,如下图所⽰:最后再次打开opencv-3.4.5/3rdparty/ippicv/ippicv.cmake⽂件修改原来⽹络压缩包下载地址为⼿动下载好压缩包的⽂件地址,如下图所⽰:现在重新cmake就能成功了!5. 编译OpenCV~/opencv-3.4.5/release/$ sudo make~/opencv-3.4.5/release/$ sudo make install6. 配置环境变量~/opencv-3.4.5/release/$ sudo gedit /etc/ld.so.conf.d/opencv.conf在⽂件内添加⼀⾏:/usr/local/lib~/opencv-3.4.5/release/$ sudo ldconfig # 更新系统的共享链接库sudo gedit /etc/bash.bashrc在bashrc⾥末尾加⼊以下两⾏:export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport LD_LIBRARY_PATH=/home/lp/soft/opencv-3.4.5/release/lib:$LD_LIBRARY_PATH# 保存bashrc后,使其⽣效:~/opencv-3.4.5/release/$ source /etc/bash.bashrc7. 测试OpenCV安装是否正确在opencv-3.4.5/samples/cpp下创建⼀个测试代码并放⼊⼀张图⽚如下:⽤下⾯的命令创建测试代码:~/opencv-3.4.5/samples/cpp$ nano ex2_1.cpp#include <opencv2/opencv.hpp> //Include file for every supported OpenCV functionint main( int argc, char** argv ) {cv::Mat imgOriginal;imgOriginal = cv::imread("building.png");//cv::Mat img = cv::imread("building.jpg");if( imgOriginal.empty() ) return -1;cv::namedWindow( "Example1", cv::WINDOW_AUTOSIZE );cv::imshow( "Example1", imgOriginal );cv::waitKey( 0 );cv::destroyWindow( "Example1" );return0;}g++运⾏下⾯的命令:~/opencv-3.4.5/samples/cpp$ g++ ex2_1.cpp -o ex2_1 `pkg-config opencv --cflags --libs` ~/opencv-3.4.5/samples/cpp$ ./ex2_1这是如果弹出图⽚,说明OpenCV安装没问题,可以正常使⽤了。
大学生创新项目个人总结

大学生创新项目个人总结(精选多篇) 第一篇:大学生创新项目个人总结个人总结与思考时光荏苒,一年的创新项目如期就要结束。
能够参加这次项目,我感到非常荣幸,过程中的点点滴滴依然历历在目。
因为是第一次参加创新项目,我也从中学习到了很多在日常学习中很难学习到的“知识”,也让我感受到实践带来的快乐和充实。
一年的项目学习、实践不仅增添了我的课外学习兴趣,也培养了我的动手能力。
随着时代的进步,人们的生活也在逐渐的变得丰富多彩。
对于很多画面和视频信息的捕捉要求也在逐渐的提高。
为此我和同学们对视频跟踪这方面产生了兴趣,并找到了相关老师进行了更加深入的学习。
接下来,相继地学习了meanshift算法的原理设计实践和opencv 的环境搭建、原理及应用以及基于对话框的mfc编程。
至此,已经对于视频跟踪技术作了基本掌握。
在项目结束之际,很庆幸我们收获累累,虽然在整个过程中,劳累、迷茫、喜悦时刻存在,但是正是这些才带给我们成长,让我们更加洗练。
生活也就是在这种挑战和实践中慢慢地充实。
一.知识学习方面大二上半学期在刚了解到这个项目的学习时,个人掌握的只有基础的c++编程基础,编程能力相当有限,深入算法的理解能力相当缺乏。
在联系导师后,了解了即将学习的大概内容包括meanshift的相关知识和opencv以及mfc编程。
在小组的共同努力下,打印了相关资料、文档进行了入门知识的了解和学习;接下来在于指导老师的帮助下,逐渐掌握了opencv的环境搭建以及相关函数的理解和学习,同时对于mfc编程的原理进行了理解学习。
另外,meanshift的原理与设计实践也是项目的关键一部分,通过大家的协调分工学习,也大概地逐一理清。
当然仅仅这些的不够的,课余之间,我也到图书馆借阅了相关书籍如,《opencv_中文版》、《opencv教程_基础篇》,并打印了关于meanshift的相关学习文档,供闲暇之际仔细斟酌思考。
当然,编程实践是必不可少的重要环节,并安装了vc2014,进行了程序的实践与学习。
基于java的opencv开发过程详解

基于java的opencv开发过程详解1.下载安装OpenCV选择合适的平台安装包下载,然后双击安装,也就是解压的过程。
这⾥主要记录windows下的环境搭建,opencv-342版本。
2.找到jar包1)在…\opencv\build\java路径下能找到opencv-xx.jar2)idea 新建⼯程,在Project Structure -> modules -> dependencies中添加jars or derectories 选择1)的jar包3)运⾏程序System.loadLibrary( Core.NATIVE_LIBRARY_NAME );Mat mat = Mat.eye( 4, 4, CvType.CV_8UC1 );System.out.println( "mat = \n" + mat.dump() );奇迹出现了:ng.UnsatisfiedLinkError: no opencv_java342 in java.library.path4)然后补充操作:在run configurations vm options中加⼊-Djava.library.path=E:\programfile\opencv\build\java 64opencv-342.dll的路径5)期望的结果出现添加外部依赖的另⼀种⽅法:然后在Modules 的dependencies 选择添加library…总结:主要需要opencv的jar包和dll⽂件到此这篇关于基于java的opencv开发的⽂章就介绍到这了,更多相关java的opencv开发内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
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. 使用深度学习模型进行图像识别近年来,深度学习在图像识别领域取得了显著的成就。
vs2013下坏境的搭建

Vs2013学习心得一.关于如何发布程序:要想将自己的程序可以在其它电脑上运行,那么要做两点工作。
1.将平台工具集选择“Visual Studio 2013 -Windows XP”2.将运行库选择为【多线程/MT】或【多线程调试/MTD】3.如果使用了MFC,同理的要设置【在静态库中使用MFC】二.Vs2013下使用Armadillo+Openblas1.到网上下载相应的软件,查看Aramadillo下的D:\softFile\armadillo-6.200.5\include\armadillo_bits\config.hpp用notepad打开取下面两个注释:2.在vs2013中添加相应的库文件3.Openblas中的D:\softFile\OpenBlas\OpenBLAS-v0.2.15-Win64-int32\bin\libopenblas.dl l制作动态库libopenblas.lib1)用记事本新建文件命名nmake.bat写入一下几条语句set path=%path%;"D:\softFile\vs2013\VC\bin"cmd.exe \vcvars32.bat其中D:\softFile\vs2013\VC\bin是你的VS2013的安装路径2)将上面生成的文件保存在你下载的Openblas文件的bin文件目录下,并且双击鼠标,将会弹出cmd见面,然后在命令窗口中输入dumpbin -exports libopenblas.dll > t.txt3)将生成的t.txt中按一下删除。
4)将删除提示的语句,并且在剩下的第一列数字的前面加上@(整个一列)然后与最后一列对换。
如上图所示。
最后文件由t.txt重新命名libopenblas.def文件名。
5)再次双击nmake.bat文件输入:lib.exe /machine:x64 /def:liopenblas.def将会自动生成这两个文件。
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】1.opencv安装之使用pip或conda安装opencv

【opencv】1.opencv安装之使⽤pip或conda安装opencv⽂章⽬录基于conda安装⽅法1. 创建需要的python版本虚拟环境2. 激活该虚拟环境并安装opencv3. 验证opencv是否正确安装4. 不想使⽤,可卸载opencv3,退出并删除虚拟环境基于pip安装总结本⽂将介绍如何在linux系统中安装opencv,从源码中安装的⽅式参见我的博客从源码安装很耗时,也很复杂,不推荐,源码安装的博客有⼀些安装OpenCV之前的依赖,如读写本地图⽚视频的软件包;并且也可以通过python⾃有的包管理⼯具pip来安装或常⽤科学计算包Anaconda的包管理⼯具conda来安装 .先要说明的是,The PyPi/PiWheels包含的opencv版本并不包括⼀些“non-free" 算法,⽐如SIFT,SURF或其它专利算法。
如果不介意这些,并且想快速搭⼀个opencv的环境,就是本⽂以下要讨论的。
还有就是通过pip或conda安装的包并不是opencv官⽅的包,⽽是由第三⽅维护的,但这并不影响我们的使⽤。
我们有两种⽅案安装基于conda和pip基于conda安装⽅法Anconda(或者Minianaconda)安装完成后,python版本固定(2019年8⽉27⽇,安装好anaconda后python默认版本是3.7),但我们可以⾃⼰指定所需要的python版本:conda将把包安装在$YOURENV/vm/lib/python3.6/site-packages1. 创建需要的python版本虚拟环境conda create -n vm python=3.6 #创建⼀个名叫vm,python3.6版本的虚拟环境1conda search opencv -c conda-forge3. 验证opencv是否正确安装pythonimport cv2print(cv2.__version__)此处遇到问题:环境为centosImportError: libGL.so.1: cannot open shared object file: No such file or directory解决办法yum install mesa-libGL.x86_64,测试可⽤4. 不想使⽤,可卸载opencv3,退出并删除虚拟环境conda unstall opencv3 #卸载opencv3conda deactivate #退出虚拟环境conda remove -n vm --all #删除虚拟环境基于pip安装基于pip安装,有两种选项:安装到系统的site-packages安装到虚拟环境的site-packages.也就是说可以通过pip在系统进⾏安装或在anaconda 或virtualenv的虚拟环境来安装。
OpenCV与JAVA(MyEclipse)集成开发环境搭建

OpenCV与MyEclipse 集成开发环境搭建一、下载OpenCV库官网下载OpenCV Win pack,下载地址:https:///opencv-3-4-1.html,下载得到的文件为opencv-3.4.1-vc14_vc15.exe,解压到指定目录OpenCV。
二、OpenCV与MyEclipse的集成2.1 OpenCV集成到JA V A项目(1)启动Myeclipse,新建JA V A项目,在JA V A项目中新建一个目录lib,用于存储第三方包。
(2)集成OpenCV到JA V A项目,从解压目录进入build\java目录,如下图所示:将opencv-341.jar文件拷贝到JA V A项目新建的目录中(lib)(3)将x64或x86目录中的文件opencv_java341.dll复制到项目使用的JDK\bin目录中。
(4)在opencv-341.jar上右击,弹出菜单,选择Build path->Add to Build path,如下图所示(5)测试是否运行正常在项目中新建一个运行类,在main方法中运行代码:System.loadLibrary(Core.NATIVE_LIBRARY_NAME);Mat m = Mat.eye(3, 3, CvType.CV_8UC1);System.out.println("m = " + m.dump());显示下列结果:2.2 OpenCV集成到MyEclipse(1)启动Myeclipse,单击工具栏上边的Window -> Preferences;(2)在弹出的窗口左侧单击Java -> Build path -> User libraries,单击new按钮,在弹出的New User Library中输入已经安装好的OpenCV库(OpenCV-3.4.1),如下图所示。
(3)在右边的按钮中点击Add External JARs, 选择到所安装的OpenCV路径下的build/java/ opencv-341.jar文件,如下图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OpenCV环境搭建
日期:2015/9/21姓名:俞豪敏
1.Eclipse下搭建安卓开发环境
注意事项:不推荐使用ADT-bundler,这个为安卓开发是很方便,但是对我们的ndk搭建会很麻烦。
1.1.JDK的安装配置
JDK版本:jdk1.7.0_67
下载并安装JDK,并在环境变量中设置JDK路径
1.2.下载并安装Eclipse
Eclipse版本:Mars javaEE 64位系统
直接按步骤安装即可。
1.3.下载并安装SDK
SDK的安装是一个很复杂的过程,因为google网页限制,所以下载速度及其慢,建议到网页上搜索SDK,打开SDK manager安装你想要安装的版本API(我安装了4.4W,5.0,6.0等普遍系列)
1.4.为Eclipse安装ADT插件
版本号:23.0.6。
版本需要注意的是,如果你的JDK版本过高而IDE不够的话是无法显示xml 的可视化编写的。
前面我们已经配置好了java的开发环境,安装了开发Android的IDE,下载安装了Android SDK,但是Eclipse还没有和Android SDK进行关联,也就是它们现在是互相独立的。
为了使得Android应用的创建,运行和调试更加方便快捷,Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT)。
ADT的安装有两种:1.在线,2.离线。
建议离线安装,还是因为谷歌原因,连接非常慢,所以离线下载资源并安装。
1.在线安装ADT的方法:
启动Eclipse,点击Help菜单-> Install New Software… ?,点击弹出对话框中的Add… 按钮。
然后在弹出的对话框中的Location中输入:
/android/eclipse/,Name可以输入ADT,点击“OK”按钮。
在弹出的对话框选择要安装的工具,然后下一步就可以了。
这里要注意的是,务必选择全部安装!如不选择,可能无法显示出NDK!
安装好后会要求你重启Eclipse,Eclipse会根据目录的位置智能地和它相同目录下Android sdk进行关联,如果你还没有通过sdk manager工具安装Android任何版本的的sdk,它会提醒立刻安装它们。
如果Eclipse没有自动关联Android sdk的安装目录,那么你可以在打开的Eclipse选择Window -> Preferences ,在弹出面板中就会看到Android设置项,填上安装的SDK 路径,则会出现刚才在SDK中安装的各平台包,按OK完成配置。
2. 离线安装大同小异
Help菜单-> Install New Software… ?,点击弹出对话框中的Add… 按钮。
名字随便去,但是Location写到你的ADT位置。
ADT请不要解压!zip格式即可!
其他与在线一致。
最后重启即可
到这里位置,我们的安卓环境已经搭建完成。
2.Eclipse下搭建OpenCV开发环境
2.1.NDK的下载及配置
NDK版本号:android-ndk-r10e
NDK是使用c语言编写的关键,在早前的版本是需要搭建cygwin来同时开发的,但是由于cygwin的搭建非常复杂,所以r9版本以后的NDK都可以实现生成os文件,为android所用,非常方便。
下载好NDK,到Window的Perfenrence下,如下图。
在这里提醒下,如果ADT安装的时候缺了什么,可能NDK会显示不出来。
首页也提到了,用bundler是不能显示出NDK的,也就无法配置ndk
输入ndk位置即可。
2.2.OpenCV下载
版本号:OpenCV 3.0.0
到官网下载即可,下载以后解压至你的workspace中。
在这里需要注意的是:SDK和Samples 一定要在同一个文件夹下,否则无法正常导入library!
到这里为止,环境已经搭建完成,下面来导入第一个sample。
3.Sample导入
我们进入samples可以看到,有些项目中有jni文件夹,有些没有。
有jni的是c++环境,没有的则是Java ide,在此不赘述Java,和导入普通的android项目一样。
在eclipse中首先导入OpenCV的sdk,可以看到是一个library,一般不会有问题,如果报错,在project->clean选择清理一下,即可。
然后就导入samples,这里以face-detection为例,在eclipse中导入。
正常情况下是不会报error的错误的!除非你的sdk和sample不在一个文件夹下。
导入以后也会出错!所以务必注意。
还有一种情况:如果res下的project文件报错,说明是SDK版本号的问题,更改一下你已经安装的SDK API版本号即可。
如下(20就是对应的4.4W版本):
android.library.reference.1=../../sdk/java
# Project target.
target=android-20
运行编译。
会报无法启动ndk的错误,需要配置一下ndk
右键工程到properties,修改NDK位置。
到这里就已经完成了所有工作了,只剩下调试步骤:
我是用真机调试,真机调试前,需要在手机中安装OpenCV的apk的,该apk在我们最初解压的OpenCV的apk中,找到对应你CPU架构的apk,存到手机后安装即可。
然后就可以到手机上运行程序了。
完成。
问题
可生成os文件,但失败报错:
jni/Android.mk:3: ../OpenCV-SDK/native/jni/OpenCV.mk: No such file or directory
make.exe: *** No rule to make target `../OpenCV-SDK/native/jni/OpenCV.mk'. Stop.
以上错误是因为导入的sample没有找到对应的sdk文件目录,所以.mk文件无法正常工作。
/ndk-build.cmd" not found
如果是这个问题代表你的ndk有问题,不要用以下方法添加路径,我在运行时还会报错。