# Dvp2_Console_Project **Repository Path**: DO3THINK/Dvp2_Console_Project ## Basic Information - **Project Name**: Dvp2_Console_Project - **Description**: 简单的C++控制台应用 ,包含回调采集、同步采集、事件回调、录制视频 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2020-06-16 - **Last Updated**: 2025-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 介绍 - 案例Dvp2Getframe:演示同步方式获取帧 - 案例Dvp2StreamCallback:演示事件回调函数的使用 - 案例Dvp2StreamCallBack:演示回调方式获取帧 - 案例Dvp2VideoRecord: 演示录制视频 ### 打开相机分以下几个步骤: 1、枚举设备 ``` dvp2api dvpStatus dvpEnum(dvpUint32 index,dvpCameraInfo* pCameraInfo) 根据索引枚举相机信息 参数 [in] index 相机索引 [out] pCameraInfo 相机信息 ``` 2、打开相机 ``` dvp2api dvpStatus dvpOpenByName(dvpStr friendlyName,dvpOpenMode mode,dvpHandle* pHandle) 根据友好名称来打开相机 参数 [in] friendlyName 友好名称 [in] mode 打开方式 [out] pHandle 相机句柄 ``` 3、设置参数 ``` 设置增益 dvp2api dvpStatus dvpSetAnalogGain(dvpHandle handle,float AnalogGain) 设置模拟增益的值 参数 [in] handle 相机句柄 [in] AnalogGain 模拟增益的值 设置曝光 dvp2api dvpStatus dvpSetExposure(dvpHandle handle,double Exposure) 设置曝光时间的值(单位为微秒) 参数 [in] handle 相机句柄 [in] Exposure 曝光时间的值(单位为微秒) ``` 4、启动视频流 ``` dvp2api dvpStatus dvpStart(dvpHandle handle) 启动视频流 参数 [in] handle 相机句柄 ``` 5、采集图像 ``` dvp2api dvpStatus dvpGetFrame(dvpHandle handle,dvpFrame* pFrame,void** pBuffer,dvpUint32 timeout) 获取一帧图像 参数 [in] handle 相机句柄 [out] pFrame 帧信息 [out] pBuffer 图像数据的内存首地址 警告切勿手动释放 ``` 6、停止视频流 ``` dvp2api dvpStatus dvpStop(dvpHandle handle) 停止视频流 参数 [in] handle 相机句柄 ``` 7、关闭相机 ``` dvp2api dvpStatus dvpClose(dvpHandle handle ) 关闭相机 参数 [in] handle 相机句柄 参见dvpStop 警告切勿在回调函数中使用此功能 关闭相机后,相机句柄将不再可用 ``` 详细过程可以参考[x86/Main.cpp](x86/Main.cpp)文件,度申API使用流程图如下: ![](./src/Image/流程图.jpg) 如有问题,可提交issue,我会尽快解答。