介绍与概述

首先非常感谢您使用深圳市度申科技有限公司的产品。DVP2 SDK是本公司自主研发的第二代工业相机产品软件开发包。本公司目前最新的工业相机产品(U3M 系列 、U3S 系列 、GM 系列),都可使用该SDK进行应用软件开发,其具有以下特色:
(1) 高效、简洁、规范的API接口,为用户提供一个简单易用的开发环境;强大的调试功能,可以很方便的定位用户在使用过程中遇到的问题;
(2) 提供UI配置界面用户无须自行实现相机配置界面,调用一个API即可完成对相机的各个参数进行调节;
(3) 对各种主流的机器视觉软件LabView、Halcon提供专门的转换接口,使相机可以更高效的运行于这些机器视觉软件;
(4)支持GenICam接口支持使用该接口的通用相机应用软件;
(5) 支持主流的编程语言和开发环境:Visual 、Visual C# 、VB .net 、Qt
(6) 提供高质量、实用性较强的参考案例;

如何使用 DVP2 API

本章主要介绍了使用DVP API 进行应用程序开发时,涉及到的一些相关文件、开发环境的搭建、相机开发的基本流程、运行过程中相关参数的调节、图像采集的方式以及代码清单。点击下载Dvp2SDK

相关文件介绍

本节主要介绍了使用DVP2 API 开发应用工程时,编译和运行过程中所需要使用到的文件

编译时所需要的文件

编译时所包含的文件如下表所示。

文件名 文件功能
DVPCamera.h 定义枚举、结构、API 接口
DVPCamera.lib DVPCamera.dll的静态链接文件
DVPCamera64.lib DVPCamera64.dll的静态链接文件

运行时所需要的文件

使用DVP2 API开发的应用程序,运行时所需要的32位文件如下表所示。

文件名 文件功能
DVPCamera.dll API接口动态库
CommonHZD.dll 相机驱动公用库
XXXXX.dscam.dll 相机设备驱动程序

使用DVP2 API开发的应用程序,运行时所需要的64位文件如下表所示。

文件名 文件功能
DVPCamera64.dll API接口动态库
CommonHZD64.dll 相机驱动公用库
XXXXX.dscam64.dll 相机设备驱动程序

如果使用了本公司提供产品驱动安装包 ,将会复制以上运行文件到安装目录(假设系统目录为C盘):

32位文件被安装到        C:\Program Files(x86)\Do3think\DVP2
64位文件被安装到       C:\Program Files(x86)\Do3think\DVP2 x64

用户也可以自行将文件拷贝到应用程序所在目录 如果系统目录和应用程序所在目录同时存在这些文件,应用程序中的DLL程序将被优先加载。

开发环境搭建

本节主要介绍了使用Visual C++ 、Visual C#以及Visual Basic.net进行DVP2 API开发时,如何搭建开发环境。

Visual C++开发环境配置

(1)添加头文件

#include "头文件目录/DVPCamera.h"

(2)加载LIB库

#ifdef _M_X64    //64位加载64位LIB库#pragma comment(lib, "64位LIB文件目录/DVPCamera64.lib")
#else           //加载32位LIB库
#pragmacomment(lib, "32位LIB文件目录/DVPCamera.lib")
#endif

Visual C# 开发 环境配置

(1) 添加引用

32位添加引用 DVPCameraCS.dll
64位添加引用 DVPCameraCS 64 .dll

(2) 命名空间

命名空间   DVPCameraType
API函数类  DVPCamera

Visual Basic.net开发环境配置

(1) 添加引用

32位添加引用 DVPCameraCS.dll
64位添加引用 DVPCameraCS 64 .dll

(2)命名空间

命名空间 DVPCameraType
API函数类 DVPCamera

基本流程

一般使用流程分为 以下 几个步骤:

  • 使用dvpRefresh和dvpEnum获取相机相关的设备信息;
  • 使用dvpOpenByName/dvpOpen成功打开/初始化相机后,将获得一个相机对应的ID(句
    柄);
  • 打开相机后,可以对相机进行各种模式配置和参数调节;
  • 配置模式和参数设置好后,使用dvpStart启动图像输出;
  • 图像采集完成后,可以使用dvpStop关闭图像输出;
  • 使用dvpClose关闭(反初始化)相机,结束相机操作。

运行过程中的参数调节

相机在启动后或输出图像的过程中,允许对相机的各功能进行实时的设置和参数调节,但以下几个功能除外,对这些功能的设置需要先停止相机)。

功能 相关接口
网络相机传输包长 dvpSetStreamPackSize
采集图像格式 dvpSetSourceFormat
目标图像格式 dvpSetTargetFormat

图像采集方式

使用相机进行图像采集是主要有两种方法:回调函数与同步方式这两种方式可以同时使用。

回调函数

回调方式是最简单的应用方式,该方式适合用于视频显示、简单图像处理等场合。通过dvpRegisterStreamCallback注册一个用户提供的回调函数来获取图像数据。

同步方式阻塞方式

主要应用场景用户的图像采集或处理线程中调用dvpGetFrame获取图像数据图像数据没有获得之前,这些过程将被阻塞。为了避免出现长时间的阻塞,dvpGetFrame可以设置超时,允许用户自行决定合适的等待时间。

相机的属性页操作

使用API函数dvpShowPropertyModalDialog可以弹出一个属性页如下:

通过属性页面可以完成常用的参数配置操作,点击“确定”,相机参数将被保存。

相机参数的存档

(1)如果用户使用属性页功能,并点击了属性页的“确定”按钮,将会产生一个存档。
(2)如果用户使用本公司相机产品对应的驱动安装程序进行安装,那么默认的参数存档路径将可能是C:\ProgramData\DO3THINK\DVP2目录(假设 C 盘为系统盘)。
(3)如果用户采用的直接复制库文件(DVPCamera.dll、XXX.dscam.dll)到应用程序目录的方式,默认的参数存档路径将是 EXE 程序所在的目录。
(4)参数存档文件一般的文件名形式为:[产品序列号].ini,这样每个相机将对应一个存档文件。

参考代码清单

BasicFunction

关键字:自动曝光、曝光时间、模拟增益、消频闪、分辨率切换、视频流回调函数

功能介绍:可连接的相机数目枚举,相机设备的打开和关闭,相机视频流的启动和停止,相机属性设置等基本功能。保存图片功能。自动曝光操作,自动曝光模式选择,曝光时间调整,抗频闪方式设置,模拟增益调节等功能。相机分辨率设置。

ImageAcquisition

关键字:采集线程、图像保存、软触发、定时采集、采集同步

功能介绍:可连接的相机数目枚举,相机设备的打开和关闭,相机视频流的启动和停止,相机属性设置等基本功能。采用同步的方式,在一个线程中采集图像,并可以根据设置将采集到的图像显示出来或者保存到文件中。打开已经保存的图像的文件夹。可以使用软触发的方式进行采集,这样可以在不须要图像数据的情况下节省通讯带宽、降低系统开销;软触发方式也能起到采集同步的效果。可以设定采集的等待时间,实现类似于定时采集的效果。

MultipleCamera

关键字:多相机、用户命名(User ID)、相机名称绑定

功能介绍:可连接的相机数目枚举,相机设备的打开和关闭,相机视频流的启动和停止,相机属性设置等基本功能。设置用户 ID 的功能。四台相机同时工作,通过用户 ID 绑定每台相机保存绑定关系,实现每次启动时每个视频窗体对应于指定的相机。

Trigger

关键字:软触发、外部触发、循环触发、Strobe信号

功能介绍:软触发和外部触发相关参数的调节,如触发信号抖动过滤、延迟、定时器设置。触发输入信号和strobe输出信号的配置。

度申相机DVP2 SDK 使用指南相关推荐

  1. NewMaker战队度申工业相机驱动安装及调用

    1.把相机驱动的安装包拷贝到nuc上 2.在终端输入chmod a+x 路径/install.sh赋予文件可以被执行的权限 3.输入sudo ./install.sh安装好驱动,例子如下 4.将其中l ...

  2. 海康威视DS-4100、4000HC 系列板卡SDK编程指南

    本文转自:http://blog.csdn.net/wwl33695/article/details/8990514 目    录 板卡介绍篇............................. ...

  3. 您在找小巧轻盈的高速工业相机吗?度申科技5百万超小又超轻的高速工业相机来啦!

    度申科技应半导体行业设备大牛制作的500万usb3.0超小超轻工业相机量产了!小之又小,不能再小:轻之又轻,不能再轻.体积只有202022mm:重量只有微不足道的16克(不含镜头). 在很多工业的应用 ...

  4. 微信sdk swift版_使用Swift 4的iOS版Google Maps SDK终极指南

    微信sdk swift版 by Dejan Atanasov 通过Dejan Atanasov 使用Swift 4的iOS版Google Maps SDK终极指南 (Your ultimate gui ...

  5. aws python库_适用于Alexa的新AWS Python SDK入门指南

    aws python库 by Ralu Bolovan 由Ralu Bolovan 适用于Alexa的新AWS Python SDK入门指南 (A Beginner's guide to the ne ...

  6. 手机网络游戏SDK集成指南

    手机网络游戏SDK集成指南 小米游戏中心手机网络游戏SDK接入包括有服务器和客户端两部分. 有任何技术问题,欢迎到游戏开发者论坛吐槽,寻求帮助. 赶快适配小米平板吧! 小米平板接入最佳实践 在继续看文 ...

  7. android相机采集sdk,C#用basler相机sdk采集图像并用halcon显示的小程序

    C#用basler相机sdk采集图像并用halcon显示的小程序 C#用basler相机sdk采集图像并用halcon显示的小程序 本人在用halcon做图像处理做视觉项目时,通常都是用c#写程序的主 ...

  8. 高通 OpenXR SDK 使用指南(2)

    高通 OpenXR SDK 使用指南(2) 1.5 OpenXR 生命周期 1.5 OpenXR 生命周期 下图是 OpenXR 框架生命周期的流转过程. 此图中描述了以下过程: 应用程序首先使用 x ...

  9. 图灵机器人SDK接入指南

    图灵机器人SDK接入指南 图灵机器人:官网 注册账号 注册个账号,创建个应用,进入后台,点开机器人接入,你会看到API key和secret 下载SDK 点击下载Android SDK,解压以后会有l ...

最新文章

  1. 操作系统常用词典(二)
  2. python使用字典格式化字符串-Python字符串格式方式 %s format()
  3. 【MySQL】触发器:让指定某一字段的值等于id
  4. JAVA 串口编程 (三)
  5. 前端学习(2868):vue3数据劫持解析3
  6. mysql utf 8bm4 没用_不要在 MySQL 中使用“utf8”,請使用“utf8mb4”
  7. 在Linux上安装Elasticsearch Kibaba.md
  8. 一文详解数据分析的 TGI 指数 | 技术头条
  9. 内衬纸缺陷在线检测系统
  10. Codeforces Round #467 (Div. 1): C. Lock Puzzle(构造)
  11. Glib2基本api调用流程(十五)
  12. Mac/Ubuntu/Windows使用VNC Viewer远程控制Ubuntu Server
  13. 【读书笔记《Android游戏编程之从零开始》】17.游戏开发基础(游戏适屏的简述和作用、让游戏主角动起来)
  14. SAS入门基础(常用函数)
  15. 基于ATTiny85的digispark Arduino最小系统的自制教程(二)
  16. 计算机网络CRC冗余码的计算
  17. 2021-09-21用pyecharts做全球各个国家的gdp色彩深度图
  18. 代理服务器的速度慢的原因是什么?
  19. 在Xcode6中使用故事版来搭建你的工程
  20. OSChina 周二乱弹 ——有一天你当了程序员巴巴

热门文章

  1. 增长量计算n+1原则_资料分析
  2. 语音识别系列︱利用达摩院ModelScope进行语音识别+标点修复(四)
  3. Objective-C基础学习心得(更新ing)
  4. Thinkpad E14装ubuntu 16.04双系统问题
  5. JavaScript歌词解析算法
  6. 在Gitee上部署自己的网站(网页)
  7. (附源码)Springboot社区居民健康档案管理系统 毕业设计 220940
  8. seiko手表价格查询,原来高低不等
  9. 用计算机能开通余利宝吗,余利宝在哪里打开 普通用户怎么开通余利宝?
  10. 兴奋氨基酸有什么影响?