树莓派Opencv获取ESP32-CAM视频源(解决不能获取问题)

配置ESP32-CAM包、烧录请看上一篇:(7条消息) ESP32-CAM在ArduinoIDE获取视频流(超详细)_T1anhu4的博客-CSDN博客

=========================================================================

先看一下从网络上扒下来的代码

树莓派Opencv获取ESP32-CAM视频源(解决不能获取问题)_第1张图片 

运行后报错“AttributeError: module 'urllib' has no attribute 'request'”

 

解决方法:导入库文件 -->  import urllib.request

树莓派Opencv获取ESP32-CAM视频源(解决不能获取问题)_第2张图片 

 

导入后再运行,错误解决了,但是没有任何响应,我看了一下大概是url的问题

树莓派Opencv获取ESP32-CAM视频源(解决不能获取问题)_第3张图片

 

直接进入到ESP32-CAM的视频源网页按下“F12”打开开发者模式然后点击“网络(Network)”接着点一下左小角的“Get Still”。此时右边开发者模式框内会捕捉到一条请求,点开复制“请求URL的内容”

树莓派Opencv获取ESP32-CAM视频源(解决不能获取问题)_第4张图片

 

接着回到我们的程序,将刚刚复制好的内容粘贴进url变量里并在最后加上“.jpg” 

 

 再次运行程序,没有任何报错了,成功捕获并显示视频!

树莓派Opencv获取ESP32-CAM视频源(解决不能获取问题)_第5张图片

源码: 

import urllib
import cv2 as cv
import numpy as np
import urllib.request

url='http://192.168.0.192/.jpg'     # 根据文章自行查找并更改,切记不要删除'.jpg'
count = 1
while True:
    imgResp = urllib.request.urlopen(url)
    imgNp = np.array(bytearray(imgResp.read()), dtype=np.uint8)
    img = cv.imdecode(imgNp, -1)
    cv.imshow('test', img)
    if ord('q') == cv.waitKey(10):
        exit(0)     # 退出
    elif ord('w') == cv.waitKey(1):
        cv.imwrite('D:\\test_photo\\{}.jpg'.format(count), img)    # 保存图片,自行修改路径
        count += 1

你可能感兴趣的:(ESP32-CAM,opencv,计算机视觉,嵌入式硬件,python,html5)