当前位置: 首页 > news >正文

淘宝天猫做网站咨询网站建设与维护学什么

淘宝天猫做网站咨询,网站建设与维护学什么,学习网站开发流程,网站的设计与制作目录 一、opencv模块总述 二、opencv主要模块 2.1 opencv安装路径及内容 2.2 opencv模块头文件说明 2.3 成熟OpenCV主要模块 2.4 社区支持的opencv_contrib扩展主要模块 2.5 关于库文件的引用 一、opencv模块总述 opencv的主要能力在于图像处理,尤其是针对二维图…

目录

一、opencv模块总述

二、opencv主要模块

        2.1 opencv安装路径及内容

        2.2 opencv模块头文件说明

        2.3  成熟OpenCV主要模块

        2.4 社区支持的opencv_contrib扩展主要模块

        2.5 关于库文件的引用


一、opencv模块总述

        opencv的主要能力在于图像处理,尤其是针对二维图片数据的处理。因此诸如图像结构表达、基本绘图能力、图像数据矩阵操作、图像变换、图像卷积、图像轮廓查找、目标识别、区域分割、模板匹配、图像滤波、图像特征描述等等。然后就是针对图像在各行各业的运用结合,例如与视频结合,进行相机标定,如何从摄像机获取视频或图片数据,如何加载已知视频及截取图片数据等。例如与硬件、操作系统的结合,支持到x86、ARM等硬件,也支持到win、linux、mac等操作系统。

        随着人工智能的快速崛起,opencv也随即跟进,支持机器学习、深度学习、人脸识别等技术,并与各个行业实际应用相结合,对于异物/缺陷检测、目标识别与跟踪、物体分类计数、尺寸/距离/位置测算等诸多方面运用给与支持。

二、opencv主要模块

        2.1 opencv安装路径及内容

        在opencv安装完成后,在其安装目录下(例如本文的基于vc2015+cmake源码编译的安装目录为D:\workForMy\OpenCVLib\opencv_VC),包含头文件include、库文件x64/vc14/lib、动态库链接x64/vc14/bin等关键文件目录:

         其中对于开发者来说,最主要的就是include文件夹,其存放着opencv的各个应用模块,成熟的opencv及最新扩展的opencv_contrib。opencv_contrib的支持主要在源码编译时加入扩展模块路径支持opencv_contrib源码(详见win10,vc2015+cmake安装编译及安装OpenCV的博文https://pyfree.blog.csdn.net/article/details/127627204)或本专栏的其他博文(win10,cmake+MinGW或centos7,cmake+g++安装opencv)

-DOPENCV_EXTRA_MODULES_PATH="$myRepo"/opencv_contrib/modules

        2.2 opencv模块头文件说明

        下来看看成熟的opencv都有那些主要功能模块,以win10,cmake+MinGW安装目录为例,该编译安装没有添加opencv_contrib支持的,并将一些次要的模块屏蔽了编译,进入include\opencv2目录下,可以看到包含了一些头文件和文件夹:

         需要注意的是一个文件夹对应的就是一个opencv功能模块,而直接放置在opencv2下的hpp头文件就是一些汇总的头文件引用,例如opencv.hpp包含了所有可能在OpenCV函数中用到的头文件。通常不建议直接引用opencv2目录下的汇总头文件,因为这样会减缓编译的速度,另外也不利于库链接及后面软件打包发布时软件大小。通常建议,如果只使用一个,比如说图像处理相关的函数,只包含opencv2/imgproc/imgproc.hpp所消耗的编译时间会比包含opencv.hpp消耗的编译时间少很多。类似,函数对应的源文件也存在于对应的src文件夹中。比如,improc模块的源码函数存在于..../modules/improc/src/*.cpp。

        在opencv2目录下的各个文件目录,就是对应的各个功能模块头文件,这些头文件分为c头文件(*.h)和c++头文件(*.hpp), 例如core功能函数的头文件:

#include "opencv2/core/core_c.h"    //旧式C风格
#include "opencv2/core/core.hpp"    //新式C++风格

        通常建议如果是纯c开发项目,采用c风格头文件支持,其他的采用c++风格。

        2.3  成熟OpenCV主要模块

        通常目前版本采用默认安装,不添加一些模块开关的特别设置,一般会有以下OpenCV模块被安装:

         这些功能模块能力简述如下:

Core:该模块包含OpenCV库的基础结构以及基本操作。Improc:图像处理模块包含基本的图像转换,包括滤波以及类似的卷积操作。Highgui:(在OpenCV 3.0以后,分割为imcodecs、videoio以及highgui三部分)这个模块包含可以用来显示图像或者简单的输入的用户交互函数。这可以看作是一个非常轻量级的Windows UI工具包。Video:该模块包含读取和写视频流的函数。Calib3d:这个模块包括校准单个、双目以及多个相机的算法实现。Feature2d:这个模块包含用于检测、描述以及匹配特征点的算法。Objdectect:这个模块包含检测特定目标,比如人脸或者行人的算法。也可以训练检测器并用来检测其他物体。Ml:机器学习模块本身是一个非常完备的模块,包含大量的机器学习算法实现并且这些算法都能和OpenCV的数据类型自然交互。Dnn:深度神经网络。Flann:Flann的意思是"快速最邻近库"。这个库包含一些你也许不会直接使用的方法,但是其他模块中的函数会调用它在数据集中进行最邻近搜索。Photo:这是一个相当新的模块,包含计算摄影学的一些函数工具。Stitching:本模块是一个精巧的图像拼接流程实现。这是库中的新功能,但是,就像Photo模块一样,这个领域未来预计有很大的增长。

        2.4 社区支持的opencv_contrib扩展主要模块

        opencv_contrib中的模块,主要由社区维护和开发,可能有非OpenCV许可的部分,并且可能包括受专利保护的算法。而OpenCV会在新版本发布时,可能会将一些在opencv_contrib中高频使用及市场认可的成熟模块加入到OpenCV本体中。另外随着OpenCV版本迭代更新,一些旧的、不合时宜的功能模块,会从OpenCV本体迁移到opencv_contrib中保留对旧有项目的支持。目前版本中,通常以下一些在opencv_contrib中常用模块(win10,vc2015+cmake,支持opencv_contrib按住目录如下):

Face:人脸识别。Text:文本检测以及识别,基于许多开源的OCR算法。Rgbd:处理由Kinect或者其他深度传感器(或者简单的由双目匹配得到的)获取的RGB+深度图像。Bioinspired:一些基于生物学启发的视觉技术。ximgproc和xphoto:先进的图像处理以及计算摄影学方法。Tracking:现代目标追踪算法。

        2.5 关于库文件的引用

        一般如果安装编译时,选择动态编译,最好将库所在目录加入环境变量中:

win下通常是:
操作系统\编译器名\bin;操作系统\编译器名\lib
例如:
x64\mingw\bin;x64\mingw\lib
x64\vc14\bin;x64\vc14\lib
win环境变量设置示例如下:
opencv_dir = D:\workForMy\OpenCVLib\opencv_VC\x64\vc14
path = %opencv_dir%/bin;%opencv_dir%/lib;其他环境变量路径linux下通常是:
/usr/local/lib*
例如:
/usr/local/lib64
Linux环境变量设置示例如下:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

        动态库文件的引用将按程序内调用了那些模块的函数而引用对于的功能模块库文件。

头文件引用
INCLUDEDIR 	:= -I"../opencv_MinGW/include"
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>//库引用
LIBDIR		:= -L"../opencv_MinGW/x64/mingw/bin" -lopencv_core460 -lopencv_highgui460 -lopencv_imgcodecs460

        如果选择静态编译时,最好编译时开启BUILD_opencv_world支持:

-DBUILD_opencv_world=ON

        这是对于静态库引用直接引用libopencv_world*.a即可,*代表版本号。

//头文件引用
INCLUDEDIR 	:= -I"../opencv_MinGW/include"
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>//静态库引用,分为三部分,opencv总库,第三方依赖库、编译器本身基础依赖库
staticDir   := ../opencv_MinGW/x64/mingw/staticlib/
LIBDIR		:= $(staticDir)/libopencv_world460.a\$(staticDir)/libade.a \$(staticDir)/libIlmImf.a \$(staticDir)/libquirc.a \$(staticDir)/libzlib.a \$(wildcard $(staticDir)/liblib*.a) \-lgdi32 -lComDlg32 -lOleAut32 -lOle32 -luuid 

        在linux下的动态库引用类似:

//头文件引用
INCLUDEDIR 	:= -I"/usr/local/include/opencv4" 
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>//库引用
DLLDIR		:= "/usr/local/lib64"
LIBDIR		:= -L $(DLLDIR) -lopencv_core -lopencv_highgui -lopencv_imgcodecs

 

http://www.yayakq.cn/news/782506/

相关文章:

  • 影评网站怎么做100个简单的手工小制作
  • 网站添加js广告位手机网站建设软件有哪些方面
  • 网站建设与维护合同范本合肥网站建设方案服务
  • 做网站加一个定位功能要多少钱企业网络营销现状报告
  • 医学ppt模板免费下载 素材网站内页可以做关键词优化吗
  • 如何免费自己创建网站wordpress本地化图片
  • 中邮通建设咨询有限公司官方网站免费的wordpress主机
  • 焦作网站设计多少钱补习班
  • 最简单的软件开发工具哈尔滨网站优化
  • 成都网站建设金网科技网站自适应宽度
  • 外贸快车做网站怎么样流量网站建设教程
  • 广东官网网站建设公司军事网址大全
  • 新建网站建设郑州哪里有做网站的
  • 网络营销自己做网站电子邮箱注册网站申请
  • 昆明网站视频号视频怎么下载
  • 网站网络优化服务器网站建设有掏钱么
  • 建设银行的网站是什么字体云南建设项目审批中心网站
  • 网站的建立过程公司宣传网页怎么做
  • 标题设计网站网站建设undefined
  • 北京网站定制公司浙江省住房和建设厅网站
  • php网站建设制作流程成都郫县网站建设
  • 网站建设前期分析电子商务公司起名大全免费
  • 专门做旅游的视频网站有哪些免费html网页模板素材网站
  • 如何选择网站开发微商货源网什么什么网站建设
  • 网站被降权会发生什么网站建设 典型材料
  • 浙江联科网站开发做的页面好看的网站
  • 网站设计岗位的职责与要求wordpress时光轴模板
  • win7 iis配置本地网站威海建设招聘信息网站
  • 模板网站代理公司做网站可以用个人域名
  • 在线代理访问网站的网址网站建设费用兴田德润团队