Python实现海康摄像头抓图
时间: 2023-11-05 15:04:31 浏览: 163
要使用Python实现海康摄像头抓图,可以使用海康提供的SDK,以下是一个简单的示例代码:
```python
from ctypes import *
from PIL import Image
# 加载海康SDK库
HCNetSDK = windll.LoadLibrary("HCNetSDK.dll")
# 登录摄像头
lUserID = HCNetSDK.NET_DVR_Login_V30("IP地址", 8000, "用户名", "密码", None, None)
if lUserID == -1:
print("登录失败!")
exit()
# 设置抓图参数
struPicCfg = HCNetSDK.NET_DVR_JPEGPARA()
struPicCfg.wPicSize = 0xff
struPicCfg.wPicQuality = 0
struPicCfg.dwShowTime = 0
struPicCfg.dwSnapShotInterval = 0
# 抓图
lChannel = 1
lpBuffer = create_string_buffer(1024*1024)
dwSize = sizeof(lpBuffer)
bSuccess = HCNetSDK.NET_DVR_CaptureJPEGPicture(lUserID, lChannel, byref(struPicCfg), lpBuffer, dwSize)
# 保存图像
if bSuccess:
with open("capture.jpg", "wb") as f:
f.write(lpBuffer.raw)
img = Image.open("capture.jpg")
img.show()
else:
print("抓图失败!")
# 退出登录
HCNetSDK.NET_DVR_Logout(lUserID)
```
需要注意的是,上述代码中需要将IP地址、用户名和密码替换成实际的值,并且需要安装PIL库以显示抓到的图像。另外,该代码只能在Windows平台下运行。
阅读全文