Pycharm运行OpenCV代码后内置摄像头无法访问,卸载重置无效求解决
故障排查与解决方案
第一步:排查应用资源占用与强制释放
- 按下
Win+X选择「任务管理器」,在详细信息页结束所有相关进程:python.exe、pycharm64.exe、MATLAB.exe、WindowsCamera.exe,避免后台进程异常占用摄像头资源 - 回到设备管理器,点击顶部菜单栏「操作」-「扫描检测硬件改动」,观察摄像头驱动是否稳定出现
第二步:修复摄像头驱动异常
- 若设备管理器可识别到摄像头,右键选择「卸载设备」,勾选「删除此设备的驱动程序软件」后确认卸载,再次执行扫描检测硬件改动,系统会自动重装默认驱动
- 若始终找不到摄像头,重启电脑进入BIOS/UEFI界面,确认「Integrated Camera」「内置摄像头」选项处于启用状态,避免调用异常后硬件被系统底层禁用
- 前往笔记本品牌官网对应型号的支持页,下载官方发布的摄像头驱动手动安装,兼容性比系统自带通用驱动更高
第三步:解决跨应用调用冲突
- 不要同时运行Python OpenCV摄像头相关代码和Matlab的图像采集模块代码,两个框架的视频IO底层都会申请摄像头独占权限,同时调用极易导致驱动崩溃
- 打开Matlab,在命令行输入
imaqreset执行后关闭Matlab,可强制释放Matlab占用的摄像头资源 - 优化OpenCV调用代码的收尾逻辑,增加异常退出时的资源释放逻辑,参考示例:
import cv2 # Windows下添加CAP_DSHOW参数可大幅减少驱动兼容问题 cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) try: while True: ret, frame = cap.read() if not ret: break cv2.imshow('frame', frame) if cv2.waitKey(1) == ord('q'): break finally: # 无论是否异常退出都会强制释放摄像头资源 cap.release() cv2.destroyAllWindows()
第四步:确认系统权限配置
- 按下
Win+I打开设置,依次进入「隐私和安全性」-「摄像头」,确认「摄像头访问」总开关、「允许桌面应用访问摄像头」开关均处于开启状态 - 确认笔记本物理摄像头开关/键盘快捷键没有被误触发关闭
内容的提问来源于stack exchange,提问作者Tiến Đạt Nguyễn
相关产品推荐
相关产品推荐

