有人知道我的代码出了什么问题吗?我正在尝试使用Python来控制esp32cam,但我不知道出了什么问题。
对不起,我不确定我是否正确发布了这个,因为这是我第一次问!这是我的密码。
在Casual博士的帮助下,我更改了代码(顺便说一句,谢谢!(,但我仍然有错误。更新了代码。
import cv2 as cv
import numpy as np
import urllib.request
# change to your ESP32-CAM ip
url = 'http://192.168.99.119/' # hi or lo
winName = 'CAM'
cv.namedWindow("winName")
while 1:
imgResponse = urllib.request.urlopen(url)
imgNp = np.array(bytearray(imgResponse.read()), dtype=np.uint8)
img = cv.imdecode(imgNp, -1)
cv.imshow("winName", img)
tecla = cv.waitKey(5) & 0xFF
if tecla == 27:
break
cv.destroyALLWINDOWS()
错误代码如下
Traceback (most recent call last):
File "/Users/fangyaoting/PycharmProjects/pythonProject/TSET.py", line 10, in <module>
cv.namedWindow("winName")
AttributeError: module 'cv2' has no attribute 'namedWindow'
试试这个:
import cv2 as cv
import numpy as np
import urllib.request
# change to your ESP32-CAM ip
url = 'http://192.168.99.10/cam-lo.jpg' #hi or lo
winName = 'CAM'
cv.namedWindow("winName")
while 1:
imgResponse = urllib.request.urlopen(url)
imgNp=np.array(bytearray(imgResponse.read()),dtype=np.uint8)
img=cv.imdecode(imgNp, -1)
cv.imshow("winName",img)
tecla = cv.waitKey(5) & 0xFF
if tecla == 27:
break
cv.destroyALLWINDOWS()
在python中,缩进非常重要:(
编辑:注意,我已经更改了以下
while 1:
imgResponse = urllib.request.urlopen(url)
imgNp=np.array(bytearray(imgResponse.read()),dtype=np.uint8)
img=cv.imdecode(imgNp, -1)
在缩进中,空格应始终为2(或4(。您使用了1,这会导致语法错误。
也缩进了这个位,因为看起来这应该是循环的一部分:
cv.imshow("winName",img)
tecla = cv.waitKey(5) & 0xFF
if tecla == 27:
break