技术标签: C++ OpenCV programming language opencv
OpenCV----Open Source Computer Vision Library,是一个跨平台的计算机视觉库,由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。
OpenCV可用于解决如下领域的问题:人机交互、物体识别、图像分区、人脸识别、动作识别、运动跟踪、机器人。编程语言也支持广泛,用C++语言编写,主要接口也是C++语言,但是保留了大量的C语言接口,也有大量的Python, Java and MATLAB的接口,也提供对于C#和Ruby的支持。
OpenCV可以在Windows、Android、Maemo、FreeBSD、OpenBSD、iOS、Linux和Mac OS等平台上运行,用CMake。
一、Linux下的安装测试
1、系统中需要有Cmake、gcc、pkg-config和gtk2.0的库,Cmake是为了产生配置安装参数,gcc是一个编译器,当然你使用其它的编译器也是可以的,pkg-config是一个有关路径的环境变量的好帮手,gtk是一个图像工具包,需要他的库OpenCV才可以在linux正常的使用。OpenCV的一个源码包。这些很容易谷哥度娘之。
2、使用Cmake进行配置设定,产生编译安装的makefile文件,图形界面相比较更直观些,设置源码的路径、构建的路径、哪个编译器以及什么类型的makefile文件,然后configure,generate配置文件,中间的选项根据个人需求选择。
3、进入设定构建的目录下面make、make install。如果之前选项中对安装的目录没有设置的话,默认的路径是/usr/locale/有其所需的编译用的头文件以及库。/usr/locale/include和/usr/locale/lib。
4、一般情况下,源码包中会有一些简单的例子,下面是我在samples/cpp下找的一个简单的例子:example.cpp,检测是否含有摄像设备并打开。还有一个简单的例子,打开一副图像。
5、对于以上两个例子的编译看参考一下样例:
A:g++ -Wall -fexceptions -g -I/usr/locale/include -c example.cpp -o a.o
g++ -L/usr/locale/lib -o example_exe a.o /usr/locale/lib/具体的库名字
./example_exe即可看看执行的效果
B:使用codeblocksIDE建立工程项目,对项目的构建选项有关搜索目录的路径添加进去,编译器选项添加include,连接器选项添加lib,同时在连接器设置中将链接库添加进去即可。
二、Windows下的安装测试
OpenCV在有些版本中Windows的安装仅仅只是解压一下就好了,里面编译好的opencv库不一定适合你机子上的编译器,如果适合就最好不过了,不适合你就要自己产生你所需要的opencv的lib。
1、需要Cmake,这个上面的方式是一样的,linux下一般默认的gcc,这里在配置是要选择你机子的编译器,你如我的是codeblocks的mingw,\CodeBlocks\MinGW\bin\下的gcc和g++,需要产生的makefile也需要指定。且configure,generate配置文件时需要注意一下你的安装路径,最后mingw32-make、mingw32-make install。
2、使用codeblocksIDE测试以上的两个例子,对于库路径等等的添加和上面是一样的。
上面使用的两个例子的codeblocks工程的下载地址http://download.csdn.net/detail/chenleiyfk/9507437
最近要写段数字运算的程序,因为从FPGA获取到的是定点数,15位数,最高位bit14是符号位,bit13是整数位,后面13位是小数位; 而我的运算过程都是用的浮点数,通过一系列计算后,还需要将计算的结果以定点数的形式写入寄存器,所以首先需要写一个定点数和浮点数相互转换的函数。首先明确一下定点数和浮点数的概念:定点数定点数是小数点固定的数。在计算机中没有专门表示小数点的位,小数点的位置是约定默认的。...
============问题描述============ 给大家分享一段启动模式的代码@TargetApi(Build.VERSION_CODES.GINGERBREAD) @SuppressWarnings("unused") @Override publicvoidonCreat...
全电发票时代关键词
伴随着模糊集理论的形成、发展和深化,RusPini率先提出模糊划分的概念。以此为起点和基础,模糊聚类理论和方法迅速蓬勃发展起来。针对不同的应用,人们提出了很多模糊聚类算法,比较典型的有基于相似性关系和模糊关系的方法、基于模糊等价关系的传递闭包方法、基于模糊图论的最大支撑树方法,以及基于数据集的凸分解、动态规划和难以辨别关系等方法。然而,上述方法均不能适用于大数据量的情况,难以满足实时性要求较高的...
备份yum源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup下载阿里云yum源(这里使用centos 7的版本,操作时注意对应系统版本)wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo更新本地缓存yum clean allyum makecache...
介绍用过几次Jupyter notebook,感觉对初学者非常友好。在一些数据科学的应用场景中,这样的interactive的python解释器简直不要再好。相比于Ipython,Jupyter 的优点是其更强大而丰富的功能,并且其可以在web端访问,其中Jupyter notebook又更加适合笔者这样的初学者使用。当然,笔者下一步也会使用Jupter Lab,不过先以notebook入门。...
图片模式,不要百度上那个数字的爱情就如一杯牛奶咖啡,香香地飘在外面,甜甜地浮在表面,酸酸地含在里面,苦苦地沉在底面,模模糊糊地把你倒映在咖啡里面。import javax.swing.*; import java.awt.*; import java.awt.event.*; public class lianliankan implements ActionListener { JFrame m...
Centos7系统 --阿里云yum源安装docker
PTA期末测验java方向
作者 |许悦聪单位 |新加坡科技研究局研究方向 |视频迁移学习、领域自适应深度学习随着大数据的不断产生在日常生活生产中发挥着愈来愈重要的作用。针对视频分析的深度学习方法更是随着各类大型数据集和大型预训练模型的推广,以及在安防、自动驾驶、智慧医疗等领域的广泛应用,而有了深刻且大幅的发展。但是,当前深度视频分析仍然极度依赖大型带标签的训练数据集进行模型训练和检测。在进行对模型效果检测的时候,我...
老公下班不回家,竟然在公司硬肝这份2020最新大厂Java岗面试宝典2022-03-16 20:14·马小聪前言过去2年我持续分享了BAT TMD为代表的大厂最新面试题目,特别是蚂蚁金服、天猫、淘宝、头条、拼多多等Java面试题目。过去2年,我已经成功的帮助了部分同学进入了大厂。2020开始,我依然会为大家带来最新的大厂现场面试专场题目,希望能帮助到更多的同学。回到正题,过完年后金三银四将正式到来,这是一个比较重要的涨薪季。我知道很多同学早已经提前未雨绸缪了,已经提前在开始准备了..
上一篇降维算法的相关论文为LPP算法,也是何小飞老师的论文https://blog.csdn.net/qq_39187538/article/details/904029611.问题导入2.算法出处3.算法详解4.算法步骤1.问题导入:降维的目的是为了缓解维数灾难,比如原始空间X=[x1,x2,...xn],每一个xi有m个维度,要将其降维到Y=[y1,y2,...,yn]...