度申相机DVP2 SDK 使用指南

介绍与概述

首先非常感谢您使用深圳市度申科技有限公司的产品。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.libDVPCamera.dll的静态链接文件
DVPCamera64.libDVPCamera64.dll的静态链接文件

运行时所需要的文件

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

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

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

文件名文件功能
DVPCamera64.dllAPI接口动态库
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输出信号的配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58279.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专利网上注册申请流程及使用-个人申请过程

专利申请 也电子化了,so 今天就个人申请的经验,告知大家,避免走不必要的弯路。因为知识产权局官网也有,但是 都是10年的教程了,网站更新的都没说。。。so。。。正题: 1、1、网上注册:登录网址&…

计算机二级没过电网网申会被刷吗,江苏电网网申——为什么研究生学历的同学网申都过不了!...

对国家电网有所了解的同学,应该都知道江苏电网吧,该省份不管是经济水平还是工资待遇水准在全国都是数一数二的。尤其是号称“天下第一局”的苏州局,高额的税后工资、完善的福利待遇,更是吸引了大批重点院校的高材生争相填报~ 江苏…

YOLO系列算法精讲:从yolov1至yolov8的进阶之路(2万字超全整理)

写在前面:大家好!我是【AI 菌】,算法工程师一枚,2021年博客之星Top12,公众号【AI 修炼之路】作者。专注于计算机视觉、深度学习、图像处理技术,热衷于分享AI、CV、DL、ML、OpenCV、Python、C等相关技术及文…

【同等学力申硕】在职研究生? 有用吗?

在如今社会竞争如此激烈的环境,想在大城市买一套房又无奈现状工资低,升职加薪有时不单取决于能力,还会取决于我们的学历、学位。心想变为研究生,去改变现状;有一种方式叫同等学力申硕是提供给在职人员去读研的一种方式…

首申百度联盟、Google Adsense,均败

首申百度联盟、Google Adsense,均败 有了网站,必然想尝试一下从百度和 google 接入广告。 1、百度可以通过接入广告赚钱的平台--百度联盟 注册百度联盟,地址:http://union.baidu.com/register.action ,需要填写和验证…

大学计算机系最努力的同学都是如何学习的?

经常会被同学们问到这个问题,要怎么努力才能找到好工作? 学习好就能进好公司? 屁! 被学校教育坑的一把鼻涕一把泪的老学长来回答一波。 我上大学时,连续三年得过国家励志奖学金,英语过六级,…

剑指Offer——银行网申内容模版

剑指Offer——银行网申内容模版 专业特长(200字以内) 熟悉Java语言,多线程编程,网络编程; 熟悉SQL语句,存储过程和函数; 熟悉Android原生开发,Hybrid APP Ionic框架开发; 熟悉Web前端Angul…

西班牙签证、异地办理申根签,材料、流程与答疑

本人安徽户口,申请申根签短期旅游(前往西班牙),在北京工作有半年以上,打印连续半年的个税记录或北京居住证复印件或连续半年的社保记录,即能在北京申请签证,不必到上海申请。 我是怎么知道的&a…

C# SolidWorks二次开发---工程图简单版标注孔信息

突然感觉好久没有写技术文章了,确实,回头看了一下上次的文章,快一个月了。我在忙什么? 文章目录 目标一、要标什么?二、思路三、代码总结 目标 提示:今天的内容和上一篇属于一个范围,就是工程图…

软件工程-数据流图

阅读以下说明和图,回答问题1至问题3。 某时装邮购提供商拟开发订单处理系统,用于处理客户通过电话、传真、邮件或 Web站点所下订单。其主要功能如下: (1)增加客户记录。将新客户信息添加到客户文件,并分配一个客户号以备后续使用。 (2)查询商品信息。接收客户提交…

基于GTK+的Linux聊天室设计

1.聊天窗口的设计 本聊天室分为服务器端和客户端两部分,采用GTK2.0,即可用简短的代码来编写窗口并向窗口中插入各个控件,通过灵活地使用信号/回调函数机制,实现用户登录、通信连接、信息发送、信息接收等功能。首先运行服务器端&…

高德地图实现多点标注marker和动态信息窗体

先说一下项目对地图的需求:在后台新增地图管理模块,要求,每一辆车都在地图上有标注,而且点击标注时要显示出车辆的相关信息,比如车牌和车辆的当前状态。 下图就是实现的效果。 当然从高德地图api也能查看到这一块&am…

C#使用GDI+绘制高质量图和字体

对于GDI,在正常的操作,Bitmap-- Graphcis -- DrawImage或者DrawString ,生成图片的话,会产生很多杂点,或者是图片质量不稳定..尤其是在读取图片后,生成缩略图之后,文件会被压缩而失真..主要原因是因为没有重新设置Graphics的几个属性..1.Graphics.SmoothingMode属性: 例如Smoot…

软件设计师:09-软件工程

章节章节01 - 计算机组成原理与体系结构07 - 法律法规与标准化与多媒体基础02 - 操作系统基本原理08 - 设计模式03 - 数据库系统09 - 软件工程04 - 计算机网络10 - 面向对象05 - 数据结构与算法11 - 结构化开发与UML06 - 程序设计语言与语言处理程序基础12 - 下午题历年真题End…

【中级软件设计师】—(针对上午题)软件工程上(三十五)

【中级软件设计师】—(针对上午题)软件工程(三十五) 一、CMM 1 2 3 4 5 二、能力成熟度模型集成(CMMI) 6 7 8 9 三、软件过程模型 (一)、瀑布模型 (二)、V模…

软件工程_绘制数据流图

软件工程_绘制数据流图 实验目的: 1、掌握数据流的分析方法 2、掌握数据流图的绘制 实验原理: 数据流图(DFD)是软件系统系统的逻辑模型,仅仅描绘数据在软件中流动(从输入移动到输出)的过程中所…

20230120英语学习

How Animals May Have Conquered Snowball Earth “雪球地球”时期,动物是如何存活的? Planet Earth used to be something like a cross between a deep freeze and a car crusher.During vast stretches of the planet’s history, everything from p…

Time For Kids 很不错的英语学习周刊

英语,是全世界使用范围最广的一门语言,因此,学好英语是一件很重要的事情,而它的重要和存在形式也不仅仅是在学习分数上,英语是一种语言,也是一门工具,学好它,对于我们,尤…

大数据工程师应聘要求高么?好找工作么

大数据开发工程师该岗位对于技术要求较高,有一定的技术门槛。大数据工程师不少细分方向,不同的方向需要具备不同的知识结构,分别是大数据底层平台研发、大数据应用开发、大数据分析和大数据运维。 大数据开发工程师负责数据仓库建设、ETL开发…