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

linux C++ 海康截图Demo

项目结构

CMakeLists.txt

cmake_minimum_required(VERSION 3.7)project(CapPictureTest)include_directories(include)link_directories(${CMAKE_SOURCE_DIR}/lib ${CMAKE_SOURCE_DIR}/lib/HCNetSDKCom) add_executable(CapPictureTest ${CMAKE_SOURCE_DIR}/src/CapPictureTest.cpp)target_link_libraries(CapPictureTest hcnetsdk)

 CapPictureTest.cpp

#include <stdio.h>
#include <iostream>
#include "../include/HCNetSDK.h"
#include <string.h>
using namespace std;#define HPR_OK 0
#define HPR_ERROR -1void Demo_SDK_Version()
{unsigned int uiVersion = NET_DVR_GetSDKBuildVersion();char strTemp[1024] = {0};sprintf(strTemp, "HCNetSDK V%d.%d.%d.%d\n",(0xff000000 & uiVersion) >> 24,(0x00ff0000 & uiVersion) >> 16,(0x0000ff00 & uiVersion) >> 8,(0x000000ff & uiVersion));printf(strTemp);
}int Demo_Capture(LONG lUserID, NET_DVR_DEVICEINFO_V40 struDeviceInfoV40)
{NET_DVR_JPEGPARA strPicPara = {0};strPicPara.wPicQuality = 2;strPicPara.wPicSize = 0;int iRet;time_t nowtime = time(NULL);struct tm *p;p = gmtime(&nowtime);char filename[256] = {0};sprintf(filename, "./%d-%d-%d %d:%02d:%02d.jpeg", 1900 + p->tm_year, 1 + p->tm_mon, p->tm_mday, 8 + p->tm_hour, p->tm_min, p->tm_sec);iRet = NET_DVR_CaptureJPEGPicture(lUserID, struDeviceInfoV40.struDeviceV30.byStartChan, &strPicPara, filename);if (!iRet){printf("NET_DVR_CaptureJPEGPicture error, %d\n", NET_DVR_GetLastError());return HPR_ERROR;}else{printf("NET_DVR_CaptureJPEGPicture success filename:%s",filename);}return HPR_OK;
}int main()
{NET_DVR_Init();Demo_SDK_Version();NET_DVR_SetLogToFile(3, "./sdkLog");char cUserChoose = 'r';// Login deviceNET_DVR_USER_LOGIN_INFO struLoginInfo = {0};NET_DVR_DEVICEINFO_V40 struDeviceInfoV40 = {0};struLoginInfo.bUseAsynLogin = false;struLoginInfo.wPort = 8000;memcpy(struLoginInfo.sDeviceAddress, "11.101.4.247", NET_DVR_DEV_ADDRESS_MAX_LEN);memcpy(struLoginInfo.sUserName, "admin", NAME_LEN);memcpy(struLoginInfo.sPassword, "123456", NAME_LEN);LONG lUserID = NET_DVR_Login_V40(&struLoginInfo, &struDeviceInfoV40);if (lUserID < 0){printf("Login error, %d\n", NET_DVR_GetLastError());printf("Press any key to quit...\n");cin >> cUserChoose;NET_DVR_Cleanup();return HPR_ERROR;}while ('q' != cUserChoose){printf("\n");printf("Input 1, Test Capture Picture\n");printf("Input:");cin >> cUserChoose;switch (cUserChoose){case '1':Demo_Capture(lUserID, struDeviceInfoV40);break;default:break;}}// logoutNET_DVR_Logout_V30(lUserID);NET_DVR_Cleanup();return 0;
}

camke

mkdir build
cd build/
camke ..

 make

make

 

运行 测试

./CapPictureTest 

Demo 下载

http://www.lryc.cn/news/160415.html

相关文章:

  • MySQL的事务隔离级别
  • 企业大语言模型智能问答的底层基础数据知识库如何搭建?
  • 【腾讯云 Cloud Studio 实战训练营】使用python爬虫和数据可视化对比“泸州老窖和五粮液4年内股票变化”
  • Linux之Shell概述
  • 手写Spring:第2章-创建简单的Bean容器
  • 在Windows上通过SSH公私钥实现无密码登录Linux
  • 使用ppt和texlive生成eps图片(高清、可插入latex论文)
  • html5学习笔记19-SSE服务器发送事件(Server-Sent Events)
  • 高效数据湖构建与数据仓库融合:大规模数据架构最佳实践
  • Java学习笔记——35多线程02
  • 每日刷题-3
  • 储能直流侧计量表DJSF1352
  • 机器学习报错合集(持续更新)
  • 【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】驱动移植
  • day-41 代码随想录算法训练营(19)动态规划 part 03
  • K8S安装部署 初始化操作(一)
  • 【多线程案例】单例模式(懒汉模式和饿汉模式)
  • Anaconda - 操作系统安装程序 简要介绍
  • 【数据库设计】向量搜索HNSW算法优化
  • 多通道振弦数据记录仪应用桥梁安全监测的关键要点
  • 深入了解HTTP代理的工作原理
  • 2023年高教社杯数学建模国赛选题人数+C题进阶版修改思路详解
  • 第三章微服务配置中心
  • 箭头函数(arrow function)与普通函数之间的区别是什么?
  • JMeter 4.0 如何获取cookie
  • 【数字IC/FPGA】Verilog中的force和release
  • 进阶C语言-指针的进阶(上)
  • 初始化一个 vite + vue 项目
  • 关于B+树
  • axios 请求和响应拦截器