[作品提交] 【DigiKey“智造万物,快乐不停”创意大赛】4,OpenCV获取webcam视频流

顺竿爬   2023-12-21 09:30 楼主
123.jpg

视频流是由一块ESP32-CAM开发板提供的,通过网页调试工具,我们可以轻松获取到视频流地址是http://xxx.xxx.xxx.xxx:81/stream。摄像头的控制都是使用get方法完成的。比如设置视频流分辨率,用的是get http://xxx.xxx.xxx.xxx/control?var=framesize&val=7,改变后面的数字就可以改变分辨率。目前7对应的是800*480,我觉得比较适中。

我写了一个类,用以下方法就可以开启视频流:

```

    def stream_start(self, _size = None):

        if not _size:

            _size = self._size

        requests.get(self._url+"/control?var=framesize&val=" + str(_size))

        self._cap = cv2.VideoCapture(self._strem_url)



    def stream(self, _show = False, _save = False):

        self._cap.set(cv2.CAP_PROP_POS_FRAMES,-1)

        self._cap.grab()

        _capture = self._cap.retrieve()

        _capture

        if _save:

            cv2.imwrite("stream.jpg", _capture[1])

        if _show:

            cv2.imshow("stream", _capture[1])

            cv2.waitKey(1)

        return _capture

```
1234.jpg

 

回复评论 (1)

OpenCV获取webcam视频流这个可以

点赞  2023-12-22 07:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复