google-colaboratory - 使用 ipwebcam 的视频捕获代码在 google colab 中不起作用
问题描述
我正在使用 ipwebcam 将我的手机摄像头用作网络摄像头,并且代码在 python IDE 上运行良好,但相同的代码在 Google colab 中不起作用。ipwebcam 在指定的 url 中从我的手机摄像头提供换行。
这是代码:
import requests
import cv2
import numpy as np
url="https://192.164.45.1342:8080/shot.jpg"
while True:
img_resp=requests.get(url)
img_arr=np.array(bytearray(img_resp.content), dtype=np.uint8)
img=cv2.imdecode(img_arr,-1)
cv2.imshow("image",img)
if cv2.waitKey(1)==27:
break
此代码用于从上面提到的 url 中逐帧获取,这是我手机上的实时提要,并将其显示为视频。在谷歌 colab 我没有得到任何输出
这是错误:
TimeoutError: [Errno 110] 连接超时
在处理上述异常的过程中,又出现了一个异常:
NewConnectionError Traceback(最近一次调用最后一次)
NewConnectionError: : 无法建立新连接:[Errno 110] 连接超时
在处理上述异常的过程中,又出现了一个异常:
MaxRetryError Traceback(最近一次调用最后一次)
MaxRetryError: HTTPSConnectionPool(host='192.168.43.149', port=8080): url: /shot.jpg 超过最大重试次数(由 NewConnectionError(': 无法建立新连接: [Errno 110] Connection timed out', ))
在处理上述异常的过程中,又出现了一个异常:
ConnectionError Traceback(最近一次调用最后一次)
/usr/local/lib/python3.6/dist-packages/requests/adapters.py in send(self, request, stream, timeout, verify, cert, proxies) 514 raise SSLError(e, request=request) 515 -- > 516 raise ConnectionError(e, request=request) 517 518 除了 ClosedPoolError 作为 e:
ConnectionError: HTTPSConnectionPool(host='192.168.43.149', port=8080): Max retries exceeded with url: /shot.jpg (由 NewConnectionError(': 无法建立新连接: [Errno 110] Connection timed out', ))
解决方案
Colab 代码在未连接到本地网络的后端上执行。因此,192.164.45.1342
无法从 Colab 后端访问该地址。
一个潜在的解决方法是使用本地 Jupyter 运行时。或者,您可以将图像保存在本地,然后将它们传输到 Colab。
推荐阅读
- c++ - 为什么 Wire.write () 的参数是类型转换的?
- reactjs - Require 在反应中不起作用,但 img src={logo} 起作用
- swift - Swift UIImage .jpegData 内存泄漏问题
- javascript - 如何将背景图像放在 setAttribute 方法上?
- javascript - 检查嵌套数组中的相同值
- go - 为什么它不能打印价值
- amazon-web-services - 配置 vscode 以使用 AWS 配置文件运行测试
- python - 将 bigquery 表的大量数据提取到多个文件中到本地而不是谷歌存储
- button - Extjs 中的收藏夹/星标/书签切换按钮
- c# - Helix Toolkit 视图立方体未显示