首页 > 作文

VS2022调试通过海康摄像头烟火识别SDK的实现

更新时间:2023-04-04 22:32:30 阅读: 评论:0

下面是我根据海康官方文档代码,放到vs 2022 版本中调试通过后的代码:

#include <stdio.h>#include <iostream>#include "windows.h"#include "hcnetsdk.h"using namespace std;//时间解析宏定义#define get_year(_time_)      (((_time_)>>26) + 2000) #define get_month(_time_临床医学专业排名)     (((_time_)>>22) & 15)#define get_day(_time_)       (((_time_)>>17) & 31)#define get_hour(_time_)      (((_time_)>>12) & 31) #define get_minute(_time_)    (((_time_)>>6)  & 63)#define get_cond(_time_)    (((_time_)>>0)  & 63)bool callback messagecallback(long lcommand, net_dvr_alarmer* palarmer, char* palarminfo, dword dwbuflen, void* pur){        switch (lcommand)    {    ca comm_firedetection_alarm: //火点检测报警    {        printf("fire192.168.1.31 \n");                    net_dvr_firedetection_alarm strufiredetection = { 0 };        memcpy(&strufiredetection, palarminfo, sizeof(net_dvr_firedetection_alarm));        printf("火点检测报警: relativetime:%d, abstime:%d, ptz{panpos:%d, tiltpos:%d, zoompos:%d}, \        picdatalen:%d, devinfo{devip:%s, port:%d, channel:%d, ivmschannel:%d}, \        firemaxtemperature:%d, targetdistance:%d, firerectinfo{fx:%f,fy:%f,fwidth%f,fheight%f}, \        firemaxtemperaturepoint{fx:%f,fy:%f}\n", strufiredetection.dwrelativetime, \            strufiredetection.dwabstime, strufiredetection.wpanpos, strufiredetection.wtiltpos, \            strufiredetection.wzoompos, strufiredetection.dwpicdatalen, \            strufiredetection.strudevinfo.strudevip.sipv4, strufiredetection.strudevinfo.wport, \            strufiredetection.strudevinfo.bychannel, strufiredetection.strudevinfo.byivmschannel, \            strufiredetection.wfiremaxtemperature, strufiredetection.wtargetdistance, \            strufiredetection.strurect.fx, strufiredetection.str语文评课稿urect.fy, strufiredetection.strurect.fwidth, \            strufiredetection.strurect.fheight, strufiredetection.strupoint.fx, strufiredetection.st犹豫的反义词rupoint.fy);                net_dvr_time struabstime = { 0 };        struabstime.dwyear = get_year(strufiredetection.dwabstime);        struabstime.dwmonth = get_month(strufiredetection.dwabstime);        struabstime.dwday = get_day(strufiredetection.dwabstime);        struabstime.dwhour = get_hour(strufiredetection.dwabstime);        struabstime.dwminute = get_minute(strufiredetection.dwabstime);     李贺诗   struabstime.dwcond = get_cond(strufiredetection.dwabstime);        //保存报警抓拍图片        if (strufiredetection.dwpicdatalen > 0 && strufiredetection.pbuffer != null)        {            char cfilename[256] = { 0 };            handle hfile;            dword dwreturn;            老年人产品char chtime[128];            sprintf_s(chtime, "%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d", struabstime.dwyear, struabstime.dwmonth, struabstime.dwday, struabstime.dwhour, struabstime.dwminute, struabstime.dwcond);            sprintf_s(cfilename, "firedetectionpic[%s][%s].jpg", strufiredetection.strudevinfo.strudevip.sipv4, chtime);            lpcwstr tmp;            // begin added by zhangchao            tmp = l"firedetectionpic31.jpg";            // end  added by zhangchao            //printf("%s", tmp);            hfile = createfile(tmp, generic_write, file_share_read, null, create_always, file_attribute_normal, null);            if (hfile == invalid_handle_value)            {                break;            }            writefile(hfile, strufiredetection.pbuffer, strufiredetection.dwpicdatalen, &dwreturn, null);            clohandle(hfile);            hfile = invalid_handle_value;        }    }    break;    default:        printf("other192.168.1.31 \n");        printf("其他报警,报警信息类型: %d\n", lcommand);        break;    }    return true;}void runcam(const char* ip) {    //---------------------------------------    // 初始化    net_dvr_init();    //设置连接时间与重连时间    net_dvr_tconnecttime(2000, 1);    net_dvr_treconnect(10000, true);    //---------------------------------------    // 注册设备    long lurid;    //登录参数,包括设备地址、登录用户、密码等    net_dvr_ur_login_info strulogininfo = { 0 };    strulogininfo.buasynlogin = 0; //同步登录方式    strcpy_s(strulogininfo.sdeviceaddress, ip);    strulogininfo.wport = 8000; //设备服务端口    strcpy_s(strulogininfo.surname, "your_urname"); //设备登录用户名    strcpy_s(strulogininfo.spassword, "your_password"); //设备登录密码    //设备信息, 输出参数    net_dvr_deviceinfo_v40 strudeviceinfov40 = { 0 };    lurid = net_dvr_login_v40(&strulogininfo, &strudeviceinfov40);    if (lurid < 0)    {        printf("login failed, error code: %d\n", net_dvr_getlasterror());        net_dvr_cleanup();        return;    }    //设置报警回调函数    net_dvr_tdvrmessagecallback_v31(messagecallback, null);        //启用布防    long lhandle;    net_dvr_tupalarm_param  strualarmparam = { 0 };    strualarmparam.dwsize = sizeof(strualarmparam);    //火点检测不需要设置其他报警布防参数,不支持    lhandle = net_dvr_tupalarmchan_v41(lurid, &strualarmparam);    if (lhandle < 0)    {        printf("net_dvr_tupalarmchan_v41 error, %d\n", net_dvr_getlasterror());        net_dvr_logout(lurid);        net_dvr_cleanup();        return;    }    sleep(50000); //等待过程中,如果设备上传报警信息,在报警回调函数里面接收和处理报警信息    //撤销布防上传通道    if (!net_dvr_cloalarmchan_v30(lhandle))    {        printf("net_dvr_cloalarmchan_v30 error, %d\n", net_dvr_getlasterror());        net_dvr_logout(lurid);        net_dvr_cleanup();        return;    }    //注销用户    net_dvr_logout(lurid);    //释放sdk资源    net_dvr_cleanup();}void main() {    runcam("192.168.1.31");    return;}

如何配置vs 2022 ?

第一步:打开窗口顶部 【项目】菜单,选中 【<某某项目>属性】。

第二步:在打开的对话框中,左侧菜单选择 【c/c++】=> 【常规】,选中右侧附加包含目录中,点击右侧出现的向下箭头,点击编辑,在打开的对话框中如下填写:

其中 d:\ws\vc\emptycam\hkheader 文件夹放着海康的头文件,分别是: datatype.h、decodecardsdk.h、hcnetsdk.h、plaympeg4.h。

第三步:左侧菜单选择 【链接器】=> 【常规】。右侧选中附加库目录,点击右侧小三角,点击编辑,打开对话框。

文件夹 d:\ws\vc\emptycam\hkdll 是放海康dll文件的地方。文件如下图所示:

第四步:左侧菜单选择 【链接器】=> 【输入】。右侧选中【附加依赖项】点击右侧小三角,点击编辑,打开对话框。内容按照图片里的文字进行填写。

到此这篇关于vs2022调试通过海康摄像头烟火识别sdk的实现的文章就介绍到这了,更多相关vs2022海康摄像头烟火识别sdk内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 22:32:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/917feadba23ab46f7ce2d64f44d33ab8.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:VS2022调试通过海康摄像头烟火识别SDK的实现.doc

本文 PDF 下载地址:VS2022调试通过海康摄像头烟火识别SDK的实现.pdf

标签:设备   菜单   信息   编辑
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图