資源簡介
在windous系統下Python實現海康相機登入、預覽、抓圖、光學變倍、相機激活、區域聚焦、區域曝光功能;linux系統下載相應的海康SDK,并將lib文件更換為相對應的庫文件,同時將HCNetSDKCom文件夾拷貝出來(與lib文件夾同一級別)
代碼片段和文件信息
import?numpy?as?np
import?os
import?ctypes
#獲取所有的庫文件到一個列表
path?=?“lib/win64/“
def?file_name(file_dir):
????pathss=[]
????for?root?dirs?files?in?os.walk(file_dir):
????????for?file?in?files:
??????????pathss.append(path+file)
????return?pathss
dll_list=file_name(path)
lUserID?=?0
lChannel=1
def?callCpp(func_name*args):
????for?HK_dll?in?dll_list:
????????try:
????????????lib?=?ctypes.cdll.LoadLibrary(HK_dll)
????????????try:
????????????????value?=?eval(“lib.%s“%func_name)(*args)
????????????????#?print(“調用的庫:“+HK_dll)
????????????????#?print(“執行成功返回值:“+str(value))
????????????????return?value
????????????except:
????????????????continue
????????except:
????????????#?print(“庫文件載入失敗:“+HK_dll)
????????????continue
????#?print(“沒有找到接口!“)
????return?False
#?region?登入
#定義登入結構體
class?LPNET_DVR_DEVICEINFO_V30(ctypes.Structure):
????_fields_?=?[
????????(“sSerialNumber“?ctypes.c_byte?*?48)
????????(“byAlarmInPortNum“?ctypes.c_byte)
????????(“byAlarmOutPortNum“?ctypes.c_byte)
????????(“byDiskNum“?ctypes.c_byte)
????????(“byDVRType“?ctypes.c_byte)
????????(“byChanNum“?ctypes.c_byte)
????????(“byStartChan“?ctypes.c_byte)
????????(“byAudioChanNum“?ctypes.c_byte)
????????(“byIPChanNum“?ctypes.c_byte)
????????(“byZeroChanNum“?ctypes.c_byte)
????????(“byMainProto“?ctypes.c_byte)
????????(“bySubProto“?ctypes.c_byte)
????????(“bySupport“?ctypes.c_byte)
????????(“bySupport1“?ctypes.c_byte)
????????(“bySupport2“?ctypes.c_byte)
????????(“wDevType“?ctypes.c_uint16)
????????(“bySupport3“?ctypes.c_byte)
????????(“byMultiStreamProto“?ctypes.c_byte)
????????(“byStartDChan“?ctypes.c_byte)
????????(“byStartDTalkChan“?ctypes.c_byte)
????????(“byHighDChanNum“?ctypes.c_byte)
????????(“bySupport4“?ctypes.c_byte)
????????(“byLanguageType“?ctypes.c_byte)
????????(“byVoiceInChanNum“?ctypes.c_byte)
????????(“byStartVoiceInChanNo“?ctypes.c_byte)
????????(“byRes3“?ctypes.c_byte?*?2)
????????(“byMirrorChanNum“?ctypes.c_byte)
????????(“wStartMirrorChanNo“?ctypes.c_uint16)
????????(“byRes2“?ctypes.c_byte?*?2)]
#用戶注冊設備?并登入,需要修改IP賬號、密碼
def?NET_DVR_Login_V30(sDVRIP?=?“192.168.1.65“wDVRPort?=?8000sUserName?=?“admin“sPassword?=?“guoji123“):
????init_res?=?callCpp(“NET_DVR_Init“)#SDK初始化
????if?init_res:
????????print(“SDK初始化成功“)
????????error_info?=?callCpp(“NET_DVR_GetLastError“)
????else:
????????error_info?=?callCpp(“NET_DVR_GetLastError“)
????????print(“SDK初始化錯誤:“?+?str(error_info))
????????return?False
????set_overtime?=?callCpp(“NET_DVR_SetConnectTime“50004)#設置超時
????if?set_overtime:
????????print(“設置超時時間成功“)
????else:
????????error_info?=?callCpp(“NET_DVR_GetLastError“)
????????print(“設置超時錯誤信息:“?+?str(error_info))
????????return?False
????#用戶注冊設備
????#c++傳遞進去的是byte型數據,需要轉成byte型傳進去,否則會亂碼
????sDVRIP?=?bytes(sDVRIP“ascii“)
????sUserName?=?bytes(sUserName“ascii“)
????sPassword?=?bytes(sPassword“ascii“)
????print(?“數據轉化成功“
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-09-07?13:45??HKCamer(區域聚焦)\
?????目錄???????????0??2018-09-07?13:45??HKCamer(區域聚焦)\.idea\
?????文件?????????513??2018-07-04?14:36??HKCamer(區域聚焦)\.idea\HKCamer.iml
?????目錄???????????0??2018-09-21?10:28??HKCamer(區域聚焦)\.idea\inspectionProfiles\
?????文件?????????302??2018-07-04?14:36??HKCamer(區域聚焦)\.idea\misc.xm
?????文件?????????266??2018-07-04?14:34??HKCamer(區域聚焦)\.idea\modules.xm
?????文件???????37757??2018-08-25?11:20??HKCamer(區域聚焦)\.idea\workspace.xm
?????文件???????13279??2018-08-20?17:06??HKCamer(區域聚焦)\OpenCam.py
?????目錄???????????0??2018-09-07?13:45??HKCamer(區域聚焦)\doc\
?????文件?????6305074??2017-12-06?11:17??HKCamer(區域聚焦)\doc\設備網絡SDK使用手冊.chm
?????目錄???????????0??2018-09-07?13:45??HKCamer(區域聚焦)\incCn\
?????文件????????5078??2017-12-06?09:48??HKCamer(區域聚焦)\incCn\DataType.h
?????文件???????24475??2017-12-06?09:48??HKCamer(區域聚焦)\incCn\DecodeCardSdk.h
?????文件?????2200083??2017-12-06?09:48??HKCamer(區域聚焦)\incCn\HCNetSDK.h
?????文件???????32752??2017-12-06?09:48??HKCamer(區域聚焦)\incCn\plaympeg4.h
?????目錄???????????0??2018-09-07?13:45??HKCamer(區域聚焦)\lib\
?????目錄???????????0??2018-09-07?13:45??HKCamer(區域聚焦)\lib\win64\
?????文件??????134656??2017-12-06?09:48??HKCamer(區域聚焦)\lib\win64\AudioRender.dll
?????文件?????2526056??2017-12-06?09:48??HKCamer(區域聚焦)\lib\win64\D3DCompiler_43.dll
?????文件??????310272??2017-12-06?09:48??HKCamer(區域聚焦)\lib\win64\EagleEyeRender.dll
?????文件?????2166272??2017-12-06?09:48??HKCamer(區域聚焦)\lib\win64\GdiPlus.dll
?????文件??????216144??2017-12-06?09:48??HKCamer(區域聚焦)\lib\win64\GdiPlus.lib
?????文件?????1628672??2017-12-06?09:52??HKCamer(區域聚焦)\lib\win64\HCCore.dll
?????文件??????164140??2017-12-06?09:52??HKCamer(區域聚焦)\lib\win64\HCCore.lib
?????文件??????957440??2017-12-06?09:56??HKCamer(區域聚焦)\lib\win64\HCNetSDK.dll
?????文件??????204392??2017-12-06?09:56??HKCamer(區域聚焦)\lib\win64\HCNetSDK.lib
?????目錄???????????0??2018-09-07?13:45??HKCamer(區域聚焦)\lib\win64\HCNetSDKCom\
?????文件??????292864??2017-12-06?09:48??HKCamer(區域聚焦)\lib\win64\HCNetSDKCom\AnalyzeData.dll
?????文件??????368128??2017-12-06?09:48??HKCamer(區域聚焦)\lib\win64\HCNetSDKCom\AudioIntercom.dll
?????文件??????599040??2017-12-06?09:54??HKCamer(區域聚焦)\lib\win64\HCNetSDKCom\HCAlarm.dll
?????文件???????13960??2017-12-06?09:54??HKCamer(區域聚焦)\lib\win64\HCNetSDKCom\HCAlarm.lib
............此處省略461個文件信息
評論
共有 條評論