You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenCV-Python人脸识别摄像头自动关闭及putText参数错误求助

人脸识别摄像头自动关闭并报错问题排查与解决

问题原因

从错误信息和代码片段可明确:cv2.putText()参数传递出错,导致参数类型不匹配,进而引发程序终止、摄像头窗口自动关闭。

调用cv2.putText()时,你将字体缩放参数fontScale误写为0,8(逗号分隔),这相当于多传了一个参数,直接打乱了后续参数的顺序:

  • 原本fontScale应为单个浮点值(比如0.8),却被拆成0和8两个独立参数
  • 原本对应thickness(线条粗细)的位置被错误传入非预期值,即便后续改成int(2),参数顺序的错乱依然让OpenCV无法识别正确的thickness参数类型,最终触发"Argument 'thickness' is required to be an integer"报错。

解决方法

修正cv2.putText()的参数,将0,8改为0.8,确保参数顺序和类型完全符合OpenCV要求:

修改前代码:

cv2.putText(frame, name,(left + 6,bottom - 6), cv2.FONT_HERSHEY_DUPLEX, 0,8,(255,255,255), 2)

修改后代码:

cv2.putText(frame, name,(left + 6,bottom - 6), cv2.FONT_HERSHEY_DUPLEX, 0.8,(255,255,255), 2)

cv2.putText()的正确参数顺序参考:

  1. frame: 绘制文本的目标图像
  2. name: 要显示的文本内容
  3. (left + 6,bottom - 6): 文本起始坐标
  4. cv2.FONT_HERSHEY_DUPLEX: 字体类型
  5. 0.8: 字体缩放比例(浮点型)
  6. (255,255,255): 文本颜色
  7. 2: 文本线条粗细(整型)

修正后重新运行代码,摄像头窗口将正常显示人脸识别结果,不会再因参数错误自动关闭。

内容的提问来源于stack exchange,提问作者Rukhsar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:20:42