linux C++ 海康截图Demo

news2024/11/26 5:44:02

项目结构

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 -1

void 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 device
    NET_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;
        }
    }

    // logout
    NET_DVR_Logout_V30(lUserID);
    NET_DVR_Cleanup();
    return 0;
}

camke

mkdir build
cd build/
camke ..

 make

make

 

运行 测试

./CapPictureTest 

Demo 下载

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++进阶之多态

多态 多态的概念多态的定义及实现1.多态的构成条件2.虚函数3.虚函数的重写4.虚函数重写的两个例外5.C11 override 和 final6.重载、覆盖(重写)、隐藏(重定义)的对比 抽象类1.概念2.接口继承和实现继承 多态的原理1.虚函数表2.多态的原理3.动态绑定与静态绑定 单继承和多继承关系…

固定资产制度怎么完善管理?

固定资产管理制度的完善管理可以从以下几个方面入手&#xff1a;  建立完善的资产管理制度&#xff0c;可以及时掌握企业资产的信息状况&#xff0c;使资产管理更加明确&#xff0c;防止资产流失。  加大固定资产监管力度&#xff0c;从配置资产、使用资产到处置资产进行全…

恒运资本:特种兵式旅港开户升温!花式攻略频出,看记者实地探访

香港开关后&#xff0c;不少“特种兵式”游香港的攻略在网络途径中撒播。近来&#xff0c;以“开银行账户”为意图的香港半日游攻略热度逐渐升温。 券商我国记者采访多家香港商业银行工作人员发现&#xff0c;近来我国银行&#xff08;香港&#xff09;、汇丰银行、渣打银行等…

JVM 对象的访问方式

对象访问的方式 Java程序会通过栈上的reference数据来操作堆上的具体对象。 句柄法 Java堆中将可能会划分出一块内存来作为句柄池&#xff0c;reference中存储的就是对象的句柄地址&#xff0c;而句柄中包含了对象实例数据与类型数据各自具体的地址信息。移动的时候不…

unity 锚点设置

锚点聚合情况&#xff1a; 一个2d物体的位置 pos x pos y 是中心点相对于锚点的偏移量&#xff1a; 中心点就是位置。 按住shift 锚点和中心点都会被设置&#xff1a; 按住Alt&#xff1a; 同时按住shift和alt &#xff1a; 中心点 锚点 UI元素在对应的位置上。 锚点拉伸情况…

四旋翼飞行器基本模型(MatlabSimulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

清华联合北航提出全新多模态融合方法SkipcrossNets,更快更强!!

多模态融合越来越多地用于自动驾驶任务&#xff0c;因为来自不同模态的图像为特征提取提供了独特的信息。然而&#xff0c;现有的双流网络只在特定的网络层次进行融合&#xff0c;这需要大量手动尝试来设置。随着卷积神经网络的深入&#xff0c;两种模态的特征变得越来越高级和…

【LeetCode】5 . 最长回文子串

5 . 最长回文子串&#xff08;中等&#xff09; 方法&#xff1a;中心扩散法 思想 「中心扩散法」的基本思想是&#xff1a;遍历每一个下标&#xff0c;以这个下标为中心&#xff0c;利用「回文串」中心对称的特点&#xff0c;往两边扩散&#xff0c;看最多能扩散多远。 枚举…

简单记录牛客top101算法题初级题(C语言实现)BM12 单链表的排序

1. BM12 单链表的排序 要求&#xff1a;给定一个节点数为n的无序单链表&#xff0c;对其按升序排序。          输入&#xff1a;[1,3,2,4,5] 返回值&#xff1a;{1,2,3,4,5}1.1 自己的整体思路 开始的时候使用冒泡排序&#xff0c;但是冒泡排序的时间复杂度是O(n^2)&…

Day52|leetcode 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

leetcode 300.最长递增子序列 题目链接&#xff1a;300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; 视频链接&#xff1a;动态规划之子序列问题&#xff0c;元素不连续&#xff01;| LeetCode&#xff1a;300.最长递增子序列_哔哩哔哩_bilibili 题目概述 给你一…

政企局域网办公首选:WorkPlus专为政企打造的IM即时通讯平台

政府机构与企业在信息交流与协作中的安全高效需求&#xff0c;使得私有化部署的IM即时通讯平台成为必要选择。WorkPlus提供符合客户应用场景的数字化平台解决方案&#xff0c;满足政企局域网办公需求。WorkPlus如何为政企提供定制化的IM即时通讯解决方案&#xff0c;助力政企机…

【论文绘图】seaborn分类数据绘图

参考&#xff1a;https://seaborn.pydata.org/tutorial/categorical.html 分类变量关系图中的catplot类似于连续变量中的relplot&#xff0c;默认是stripplot。 分类变量图种类 分类散点图 stripplotswarmplot (kind‘swarm’) 类别分布图 boxplotviolinplotboxenplot …

Chrome实现自动化测试:录制回放网页动作

Chrome 浏览器是真的恐怖&#xff0c;它会把相关的小工具都卷死。从它诞生至今&#xff0c;创造了一个又一个的传奇&#xff0c;现在可以看到基于它的操作系统 chrome os &#xff0c;还能买到用它做系统的笔记本电脑。 最近&#xff0c;新版本支持录制和回放功能了。有了这个…

算法通关村14关 | 堆结构

1. 堆的概念与特征 堆是将一组数据按照完全二叉树的存储顺序&#xff0c;将数据存储在一维数组中的结构&#xff0c;对的结构有两种&#xff0c;一种称为大顶堆&#xff0c;一种称为小顶堆。 小顶堆&#xff1a;任意节点的值均小于等于它的左右孩子&#xff0c;并且最小的值位于…

Matlab(GUI程式设计)

目录 1.MatlabGUI 1.1 坐标区普通按钮 1.1.1 对齐组件 1.1.2 按钮属性 1.1.3 脚本说明 1.1.4 选择呈现 1.3 编译GUI程序 在以前的时候&#xff0c;我们的电脑还是这样的 随着科技的不断进步&#xff0c;我们的电脑也发生着翻天覆地的改变1990s&#xff1a; 在未来&#xff0c…

(三)行为模式:7、观察者模式(Observer Pattern)(C++示例)

目录 1、观察者模式&#xff08;Observer Pattern&#xff09;含义 2、观察者模式的UML图学习 3、观察者模式的应用场景 4、观察者模式的优缺点 &#xff08;1&#xff09;优点&#xff1a; &#xff08;2&#xff09;缺点 5、C实现观察者模式的实例 1、观察者模式&…

DP读书:鲲鹏处理器 架构与编程(十一)鲲鹏生态软件架构 AND 硬件特定软件

鲲鹏生态软硬件构成 鲲鹏软件构成硬件特定软件1. Boot Loader2. SBSA 与 SBBR3. UEFI4. ACPI 鲲鹏软件构成 鲲鹏处理器的软件生态是一个不断发展的软件生态&#xff0c;服务器本身也具有复杂度多样性&#xff0c;经过很长时间的发展服务器硬件有不同的操作系统方案&#xff0c…

创造商业新机遇,短视频商城APP崭露头角

随着移动互联网和社交媒体的飞速发展&#xff0c;短视频平台逐渐成为人们获取信息和娱乐的重要渠道。基于此&#xff0c;打造短视频商城APP成为引爆颠覆式购物新潮的利器。短视频商城APP结合了短视频分享和电子商务的优势&#xff0c;为用户提供了一种全新的购物体验。 颠覆传统…

AI 模型:数据收集和清洗

为了训练AI模型,需要收集和准备足够的数据。数据应该涵盖各种情况和场景,以确保系统在各种情况下都能准确地运行。数据原始来源应该是真实的,并且应该涵盖系统预计的使用情况。数据应该根据特定的需求进行采样和处理,可以来自各种来源,例如公共数据集、第三方数据提供商、…

在项目管理中,如何做好进度规划?这两点很重要!

生活中&#xff0c;做事前做好计划&#xff0c;结果总不会太差。如果是走哪算哪&#xff0c;到最后可能什么也做不好。日常生活中尚且如此&#xff0c;在项目管理中涉及人员、任务多&#xff0c;所以&#xff0c;项目经理必须具备规划能力&#xff0c;统筹项目的各种组织和要素…