-
-
Save thearn/5562029 to your computer and use it in GitHub Desktop.
import base64 | |
import time | |
import urllib2 | |
import cv2 | |
import numpy as np | |
""" | |
Examples of objects for image frame aquisition from both IP and | |
physically connected cameras | |
Requires: | |
- opencv (cv2 bindings) | |
- numpy | |
""" | |
class ipCamera(object): | |
def __init__(self, url, user=None, password=None): | |
self.url = url | |
auth_encoded = base64.encodestring('%s:%s' % (user, password))[:-1] | |
self.req = urllib2.Request(self.url) | |
self.req.add_header('Authorization', 'Basic %s' % auth_encoded) | |
def get_frame(self): | |
response = urllib2.urlopen(self.req) | |
img_array = np.asarray(bytearray(response.read()), dtype=np.uint8) | |
frame = cv2.imdecode(img_array, 1) | |
return frame | |
class Camera(object): | |
def __init__(self, camera=0): | |
self.cam = cv2.VideoCapture(camera) | |
if not self.cam: | |
raise Exception("Camera not accessible") | |
self.shape = self.get_frame().shape | |
def get_frame(self): | |
_, frame = self.cam.read() | |
return frame |
Got error
error: [Errno 10054] An existing connection was forcibly closed by the remote host
I tried the above code and gets error as
File "z-live_feed.py", line 14
def init(self, 192.168.1.103, user=admin, password=1234QWER):
^
IndentationError: expected an indented block
I had edited these lines
class ipCamera(object):
def init(self, 192.168.1.103, user=admin, password=1234QWER):
self.url = url
@baijuep, you need to write URI inside quotes, like that: 'http://192.168.1.103'
How can it run?
This is only def, no main.
I am not same smart like you
what is this?
Process finished with exit code 0
goodday new to this one. how can use this example. thanks
how to use this code ?
How can I use this code?
I need to connect to IP cameras using user and password. Thanks
any brand?? i'm going to work with a foscam IP cam....