用Python实现海康威视ip camera预览截图
时间: 2024-02-03 18:15:51 浏览: 233
可以使用OpenCV和requests库来实现海康威视IP摄像头的预览和截图。以下是示例代码:
```python
import cv2
import requests
import numpy as np
# 海康IP摄像头地址
url = "http://your_ip_address/ISAPI/Streaming/channels/101/picture"
# 设置用户名和密码
user = "your_username"
password = "your_password"
# 构造请求头
headers = {
"Authorization": "Basic " + (user + ":" + password).encode("base64").rstrip(),
"Content-Type": "application/xml",
"Accept": "*/*"
}
# 发送请求并获取图像数据
response = requests.get(url, headers=headers, stream=True)
bytes_data = bytes()
for chunk in response.iter_content(chunk_size=1024):
bytes_data += chunk
# 将字节数据转为OpenCV识别的图像格式
data = np.frombuffer(bytes_data, np.uint8)
img = cv2.imdecode(data, cv2.IMREAD_COLOR)
# 显示图像
cv2.imshow("Preview", img)
# 保存图像
cv2.imwrite("snapshot.jpg", img)
# 等待按下任意键后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```
需要注意的是,url、user和password需要替换成自己摄像头的相关信息。同时,需要确保OpenCV和requests库已经安装到你的Python环境中。
阅读全文