Python调用摄像头时出现Bus Error (Core dumped)错误求助
解决ChromeOS Linux环境调用摄像头Bus Error的方案
1. 开启Linux容器摄像头权限
ChromeOS的Linux容器默认没有摄像头访问权限,必须手动开启:
- 打开ChromeOS设置,进入「高级」>「开发者」>「Linux开发环境」
- 勾选「允许Linux访问摄像头」选项,重启Linux终端或应用使权限生效
2. 确认摄像头设备路径
ChromeOS下Linux容器的摄像头设备路径不是常规的/dev/video0,先通过命令确认存在的设备:
ls /dev/video*
如果无输出,回到第一步检查权限;有输出则记录设备编号(比如/dev/video2)
3. 修正代码中的设备索引/路径
不要默认使用0作为摄像头索引,改用实际的设备编号或路径:
- OpenCV示例:
import cv2 # 替换为实际设备编号,比如2 cap = cv2.VideoCapture(2) if not cap.isOpened(): print("无法打开摄像头") exit() ret, frame = cap.read() if ret: cv2.imshow("Camera Frame", frame) cv2.waitKey(0) cv2.destroyAllWindows() cap.release()
- Imageio示例:
import imageio.v3 as iio import matplotlib.pyplot as plt # 替换为实际设备路径 cam = iio.imopen("/dev/video2", "r") frame = cam.read() plt.imshow(frame) plt.show()
4. 更新系统和依赖库
Bus Error可能源于库版本不兼容,执行以下命令更新:
sudo apt update && sudo apt upgrade -y pip uninstall opencv-python imageio -y pip install opencv-python imageio[ffmpeg]
5. 更新ChromeOS版本
部分旧版ChromeOS的Linux容器存在摄像头支持bug,更新系统到最新版本:
- 打开ChromeOS设置,进入「关于ChromeOS」>「检查更新」,安装更新后重启设备
内容的提问来源于stack exchange,提问作者Kishiroh
相关产品推荐
相关产品推荐

