在OpenCV中使用IP网络摄像头进行实时流式传输

问题描述 投票:-1回答:1

当我运行这个程序时,它使用我的Android手机的前置摄像头。但我想从后置摄像头进行视频处理。我该怎么办?

import cv2
import numpy as np
import urllib



url = 'http://192.168.1.183:8080/shot.jpg'

while True:
    imgResp = urllib.urlopen(url)
    img = np.array(bytearray(imgResp.read()), dtype=np.uint8)
    img1 = cv2.imdecode(img, -1)
    hsv = cv2.cvtColor(img1, cv2.COLOR_BGR2HSV)
    lower_red = np.array([30,150,50])
    upper_red = np.array([255,255,180])
    mask = cv2.inRange(hsv, lower_red, upper_red)
    res = cv2.bitwise_and(img1, img1, mask=mask)

    cv2.imshow('img',res)
    cv2.waitKey(10)
python opencv
1个回答
0
投票
import cv2
import numpy as np
import urllib



url = 'http://192.168.1.183:8080/video'
cap = cv2.VideoCapture(url)
while True:
    _, img1 = cap.read()
    hsv = cv2.cvtColor(img1, cv2.COLOR_BGR2HSV)
    lower_red = np.array([30,150,50])
    upper_red = np.array([255,255,180])
    mask = cv2.inRange(hsv, lower_red, upper_red)
    res = cv2.bitwise_and(img1, img1, mask=mask)

    cv2.imshow('img',res)
    cv2.waitKey(10)

我把网址传递给了VideoCapture()。然后读取帧。有效。

新增代码:

url = 'http://192.168.1.183:8080/video'
cap = cv2.VideoCapture(url)
(Inside while loop)
_, img1 = cap.read()
© www.soinside.com 2019 - 2024. All rights reserved.