国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux C++ 海康截圖Demo

這篇具有很好參考價(jià)值的文章主要介紹了linux C++ ??到貓DDemo。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

項(xiàng)目結(jié)構(gòu)

?編輯

CMakeLists.txt

代碼

camke

?編輯?make

運(yùn)行 測(cè)試

下載?


項(xiàng)目結(jié)構(gòu)

linux C++ 海康截圖Demo,C/C++,linux,c++,??到貓DDemo

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)

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)

代碼

#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;
}

#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 ..

mkdir build
cd build/
camke ..

?make

make

?linux C++ ??到貓DDemo,C/C++,linux,c++,??到貓DDemo

運(yùn)行 測(cè)試

./CapPictureTest 

linux C++ ??到貓DDemo,C/C++,linux,c++,??到貓DDemo

linux C++ ??到貓DDemo,C/C++,linux,c++,??到貓DDemo

下載?

Demo 下載文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-690217.html

到了這里,關(guān)于linux C++ 海康截圖Demo的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C++下OPENCV驅(qū)動(dòng)調(diào)用海康GigE工業(yè)相機(jī)

    C++下OPENCV驅(qū)動(dòng)調(diào)用??礕igE工業(yè)相機(jī)

    第一章 Ubuntu22下OpenCV4.6.0+contrib模塊編譯安裝 第二章 ubuntu22下C++ kdevelop環(huán)境搭建:OpenCV示例 第三章 C++下OPENCV驅(qū)動(dòng)調(diào)用海康GigE工業(yè)相機(jī) 在前兩章內(nèi)筆者詳細(xì)敘述了如何編譯以及加載opencv庫(kù),本文將從opencv出發(fā),在linux系統(tǒng)下利用??倒I(yè)攝像機(jī)的SDK完成基于海康工業(yè)相機(jī)的o

    2024年02月06日
    瀏覽(34)
  • Qt+OpenCV調(diào)用??迪鄼C(jī)SDK采集圖像(C++)

    Qt+OpenCV調(diào)用海康相機(jī)SDK采集圖像(C++)

    配置環(huán)境: Qt5.12.5 OpenCV3.4.9 海康MVS3.1.0 開發(fā)工具:QT Creator-4.11.0 1.1)添加??档膸?kù): 將??礢DK庫(kù)MVSDevelopmentIncludes和MVSDevelopmentLibrarieswin64下復(fù)制到自己的工程目錄下 然后把庫(kù)添加到.pro文件中 點(diǎn)擊下一步之后就會(huì)在.pro文件中出現(xiàn)如下代碼 然后在這后面加上以下代碼,添

    2024年02月08日
    瀏覽(31)
  • ??低曄鄼C(jī)-LINUX SDK 開發(fā)

    ??低曄鄼C(jī)-LINUX SDK 開發(fā)

    相機(jī): MV-CS020-10GC 系統(tǒng):UBUNTU 22.04 語(yǔ)言:C++ 工具:cmake ??倒倬W(wǎng)下載SDK 運(yùn)行下面的命令進(jìn)行安裝 安裝完成后從在/opt/MVS 路徑下就有了相關(guān)的庫(kù),實(shí)際上我們開發(fā)的時(shí)候只需要lib和include。有興趣的同學(xué)也可以嘗試以下Samples的例子。make一下就能生成可執(zhí)行文件。如果make報(bào)錯(cuò)

    2024年02月11日
    瀏覽(18)
  • sqlite | c++ | demo

    sqlite 過(guò)得的廢話 就不細(xì)說(shuō)了 接下來(lái),主要講 安裝sqlite 然后寫一個(gè)demo ,然后再shell 命令操作sqlite demoe 的鏈接在下方 c++demo ######################### 然后在shell 中查看數(shù)據(jù)庫(kù) ############################################

    2024年01月17日
    瀏覽(18)
  • Qt+opencv+Linux+??倒I(yè)相機(jī)連接

    Qt+opencv+Linux+海康工業(yè)相機(jī)連接

    ? ? ? ?本人需要在樹莓派上部署深度學(xué)習(xí)推理模型 ,由于本實(shí)驗(yàn)室只有??倒I(yè)相機(jī),因此通過(guò)借鑒博客和自主調(diào)試,完成了模型的部署。本文主要講述如何在基于linux的Qt中成功連接??倒I(yè)相機(jī),第一次嘗試寫博客,練練手感。 ? ? ? 1、安裝海康工業(yè)相機(jī)自帶的MVS ?

    2024年02月01日
    瀏覽(34)
  • C++調(diào)用opencv和windows api完成桌面窗口截圖——以夢(mèng)幻西游為例

    C++調(diào)用opencv和windows api完成桌面窗口截圖——以夢(mèng)幻西游為例

    項(xiàng)目編寫的C++程序,根據(jù)輸入的字符串,遍歷所有桌面窗口標(biāo)題,查找包含該標(biāo)題的窗口,對(duì)該桌面窗口進(jìn)行截圖,以夢(mèng)幻西游為例 輸入:桌面窗口包含的字符串 比如輸入“夢(mèng)幻”,程序就會(huì)截取桌面“夢(mèng)幻西游”的窗口 輸出:該桌面窗口的截圖,數(shù)據(jù)類型為opencv的Mat矩陣

    2024年02月21日
    瀏覽(18)
  • Linux中使用selenium截圖的文字變?yōu)榉娇虻慕鉀Q方案

    Linux中使用selenium截圖的文字變?yōu)榉娇虻慕鉀Q方案

    最近在Linux中使用selenium截圖時(shí),發(fā)現(xiàn)文字都變?yōu)榱朔娇颍?雖然不影響selenium的使用,但有點(diǎn)影響調(diào)試,也不好看,后面發(fā)現(xiàn)是因?yàn)長(zhǎng)inux缺少中文字體的緣故,需要安裝中文字體就能解決。 先檢查 /usr/share 目錄下是否有有 fonts 和 fontconfig 目錄,如果沒有則需要執(zhí)行下面的命令

    2024年02月08日
    瀏覽(19)
  • 二百一十一、Flume——Flume實(shí)時(shí)采集Linux中的Hive日志寫入到HDFS中(親測(cè)、附截圖)

    二百一十一、Flume——Flume實(shí)時(shí)采集Linux中的Hive日志寫入到HDFS中(親測(cè)、附截圖)

    為了實(shí)現(xiàn)用Flume實(shí)時(shí)采集Hive的操作日志到HDFS中,于是進(jìn)行了一場(chǎng)實(shí)驗(yàn) [root@hurys23 conf]# find / -name hive.log /home/log/hive312/hive.log [root@hurys23 conf]# vi ?flume-file-hdfs.conf # Name the components on this agent a2.sources = r2 a2.sinks = k2 a2.channels = c2 # Describe/configure the source a2.sources.r2.type = exec a2.sources

    2024年02月04日
    瀏覽(24)
  • 【C/C++】使用C++和Direct3D (d3d)獲取屏幕截圖并根據(jù)傳入分辨率進(jìn)行縮放圖片大小

    【C/C++】使用C++和Direct3D (d3d)獲取屏幕截圖并根據(jù)傳入分辨率進(jìn)行縮放圖片大小

    目錄 一,函數(shù)清單 1.Direct3DCreate9?函數(shù) 2.IDirect3D9::CreateDevice 方法 3.IDirect3DDevice9::GetDisplayMode?方法 4.IDirect3DDevice9::CreateOffscreenPlainSurface?方法 5.IDirect3DDevice9::GetFrontBufferData?方法 6.IDirect3DDevice9::D3DXLoadSurfaceFromSurface 方法 7.?D3DXSaveSurfaceToFile 函數(shù) 二,關(guān)鍵代碼實(shí)現(xiàn) 三,最終實(shí)現(xiàn)

    2024年01月18日
    瀏覽(30)
  • 一百五十六、Kettle——Linux上安裝的Kettle9.3連接ClickHouse數(shù)據(jù)庫(kù)(親測(cè),附流程截圖)

    一百五十六、Kettle——Linux上安裝的Kettle9.3連接ClickHouse數(shù)據(jù)庫(kù)(親測(cè),附流程截圖)

    kettle9.3在Linux上安裝好后,需要與ClickHouse數(shù)據(jù)庫(kù)建立連接 1、kettle版本是9.3 2、ClickHouse版本是21.9.5.16 ? https://pan.baidu.com/s/1iqGyXsTaQSCHEbjj7yX7AA?提取碼: mvzd 注意 : clickhouse-plugins文件里就是自定義的clickhouse驅(qū)動(dòng)jar包 ? ?注意 : 要區(qū)分Linux系統(tǒng)架構(gòu)是64位還是32位, 它們所屬的L

    2024年02月12日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包