Python中文
首页
教程
问答
标签
搜索
登录
注册
在python中获取Hikvision IP摄像机的帧
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有下一个海康威视IP摄像头<a href="http://www.hikvision.com/es/Products_accessries_161_i11969.html" rel="nofollow noreferrer">http://www.hikvision.com/es/Products_accessries_161_i11969.html</a>我在本地网络中配置了它,并且我与浏览器建立了连接,我可以看到摄像头工作正常。我已经在不同的岗位上搜索过这样的镜头,但我做不到。在这里,我把我用来尝试它的代码和响应。 我想得到一个框架,并保存在我的去库存处理后。</p> <pre><code>import cv2 import requests import numpy as np import urllib import hikvision.api import requests import shutil #Donwload from: https://github.com/fbradyirl/hikvision/archive/master.zip hik_camera = hikvision.api.CreateDevice('192.168.1.64', username='admin', password=contrasenia) """ INFO:hikvision.api:Initialising new hikvision camera client INFO:hikvision.api:motion_url: http://192.168.1.64/MotionDetection/1 INFO:hikvision.api:ElementTree.register_namespace: http://www.hikvision.com/ver10/XMLSchema INFO:hikvision.api:Going to probe device to test connection INFO:hikvision.api:url: http://192.168.1.64/System/deviceInfo INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.64 DEBUG:requests.packages.urllib3.connectionpool:"GET /System/deviceInfo HTTP/1.1" 200 696 DEBUG:hikvision.api:response: <Response [200]> DEBUG:hikvision.api:status_code 200 DEBUG:hikvision.api:element_to_query: .//{http://www.hikvision.com/ver10/XMLSchema}firmwareVersion result: <Element '{http://www.hikvision.com/ver10/XMLSchema}firmwareVersion' at 0x7fb090b76cc8> INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.64 DEBUG:requests.packages.urllib3.connectionpool:"GET /MotionDetection/1 HTTP/1.1" 200 407 DEBUG:hikvision.api:Response: <?xml version="1.0" encoding="UTF-8"?> <MotionDetection version="1.0" xmlns="http://www.hikvision.com/ver10/XMLSchema"> <id>1</id> <enabled>false</enabled> <regionType>grid</regionType> <Grid> <rowGranularity>18</rowGranularity> <columnGranularity>22</columnGranularity> </Grid> <MotionDetectionRegionList> <sensitivityLevel>0</sensitivityLevel> </MotionDetectionRegionList> </MotionDetection> INFO:hikvision.api:Current motion detection state? enabled: false WARNING:hikvision.api:sensitivityLevel is 0. INFO:hikvision.api:sensitivityLevel now set to 1 INFO:hikvision.api:Connected OK! INFO:hikvision.api:Camera firmaward version: V5.4.3 INFO:hikvision.api:Motion Detection enabled: False """ #The method: """ hik_camera.__class__( hik_camera.__setattr__( hik_camera.__delattr__( hik_camera.__sizeof__( hik_camera.__dict__ hik_camera.__str__( hik_camera.__dir__( hik_camera.__subclasshook__( hik_camera.__doc__ hik_camera.__weakref__ hik_camera.__eq__( hik_camera._base hik_camera.__format__( hik_camera._host hik_camera.__ge__( hik_camera._password hik_camera.__getattribute__( hik_camera._sensitivity_level hik_camera.__gt__( hik_camera._username hik_camera.__hash__( hik_camera._xml_namespace hik_camera.__init__( hik_camera.disable_motion_detection( hik_camera.__le__( hik_camera.enable_motion_detection( hik_camera.__lt__( hik_camera.get_about( hik_camera.__module__ hik_camera.get_version( hik_camera.__ne__( hik_camera.is_motion_detection_enabled( hik_camera.__new__( hik_camera.motion_url hik_camera.__reduce__( hik_camera.put_motion_detection_xml( hik_camera.__reduce_ex__( hik_camera.xml_motion_detection_off hik_camera.__repr__( hik_camera.xml_motion_detection_on """ hik_camera #<hikvision.api.CreateDevice object at 0x7fb09183ab38> </code></pre> <p>有了这段代码,我无法获得一个帧。</p> <p>其他选项:</p> <pre><code>camera = requests.get('http://192.168.1.64', auth=('admin', contrasenia), stream=True) #INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 192.168.1.64 #DEBUG:requests.packages.urllib3.connectionpool:"GET / HTTP/1.1" 200 480 chunk = camera.iter_content(chunk_size=1024) chunk #<generator object iter_slices at 0x7fb090b7a150> bytes += bytes() #Traceback (most recent call last): # File "<stdin>", line 1, in <module> #TypeError: unsupported operand type(s) for +=: 'type' and 'bytes' </code></pre> <p>其他:</p> <pre><code>stream = urllib.request.urlopen("http://192.168.1.64") #<http.client.HTTPResponse object at 0x7fb090b82320> </code></pre> <p>其他:</p> <pre><code>out_cv2 = cv2.VideoCapture('http://192.168.1.64') #<VideoCapture 0x7fb090b6dc10> cv2.imshow(out_cv2) #Traceback (most recent call last): # File "<stdin>", line 1, in <module> #TypeError: Required argument 'mat' (pos 2) not found ret, frame = out_cv2.read() cv2.imshow('out', frame) #OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /io/opencv/modules/highgui/src/window.cpp, line 304 #Traceback (most recent call last): # File "<stdin>", line 1, in <module> #cv2.error: /io/opencv/modules/highgui/src/window.cpp:304: error: (-215) size.width>0 && size.height>0 in function imshow ret #False frame # </code></pre> <p>其他:</p> <pre><code>from requests.auth import HTTPBasicAuth requ = requests.get('http://192.168.1.64', auth=HTTPBasicAuth('admin', contrasenia), stream=True) out_file = open('img.png', 'wb') shutil.copyfileobj(requ.raw, out_file) #The file is empty </code></pre> <p>这段代码来自其他有类似问题的帖子,但我不能用它来获取我的目标。我能做什么?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我的电脑有一个问题,opencv的版本有问题。现在,我有了opencv 3.2,我可以做下一行:</p> <pre><code>cv2.VideoCapture("rstp://admin:PASSWORD@192.168.1.64/doc/page/previw.asp") </code></pre> <p>我可以拍照。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
上传图片使用Django Ckeditor获取服务器错误(500)
10 回答
上传图片到 Google App Engine,来自非网页客户端
10 回答
上传图片到Djang的cloudinary
10 回答
上传图片到Flask
7 回答
上传图片到googleappengine并与用户分享图片
1 回答
上传图片到googlecolab,并使用Keras预测分类
1 回答
上传图片到s3python
2 回答
上传图片到s3后,上传附带的拇指
8 回答
上传图片在Django,希望是一个循序渐进的指南?
7 回答
上传图片并显示在Django 2.0模板上
4 回答
上传图片时创建动态路径
10 回答
上传多个图像会破坏除第一个Flas之外的所有内容
10 回答
上传多个文件上传文件FastAPI
9 回答
上传多个文件到Django
3 回答
上传多张图片
4 回答
上传大数据到谷歌硬盘给400
3 回答
上传大文件nginx+uwsgi
2 回答
上传大文件不工作谷歌驱动Python API
8 回答
上传大文件到S3
5 回答
上传大文件太慢
6 回答