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

Python 2.7+OpenCV 3.4.0.12调用PS3摄像头录屏报AttributeError求助

解决OpenCV 3.x中'module' object has no attribute 'cv'的报错问题

嘿,我来帮你搞定这个录制视频的问题!你遇到的这个AttributeError其实是个很常见的版本适配问题,跟你猜测的方向一致,根源就在OpenCV的版本变化上。

错误原因

在OpenCV 2.x版本里,我们会用到cv这个子模块,但到了OpenCV 3.x及以后的版本,官方已经把所有功能整合到cv2模块里了,原来的cv模块被直接移除——所以你的代码里如果还在调用cv.xxx的函数,自然会出现找不到模块的报错。

具体修复步骤

  1. 替换导入语句
    把代码里所有的import cv或者from cv import ...,全部改成:

    import cv2
    
  2. 调整函数调用方式
    OpenCV 3.x里很多函数的名称和调用逻辑都有变化,举几个你录制视频会用到的关键替换:

    • 原来的cv.CaptureFromCAM(0) → 换成cv2.VideoCapture(0)
    • 原来的cv.CreateVideoWriter(...) → 换成cv2.VideoWriter(...)(注意参数顺序和编码格式的设置方式)
    • 原来的cv.ShowImage(...) → 换成cv2.imshow(...)
    • 原来的cv.WaitKey(...) → 换成cv2.waitKey(...)
  3. 适配PS3摄像头的示例代码
    这里给你写了一段适配OpenCV 3.4.0.12 + Python 2.7的代码,保留了你习惯的西班牙语变量名:

    import cv2
    
    def camara1():
        # 初始化PS3摄像头(0是默认设备,识别不到的话可以试试1)
        camara = cv2.VideoCapture(0)
        
        # 设置视频编码、帧率和分辨率(XVID是常用的AVI编码)
        fourcc = cv2.VideoWriter_fourcc(*'XVID')
        grabador = cv2.VideoWriter('grabacion_ps3.avi', fourcc, 20.0, (640, 480))
        
        while camara.isOpened():
            # 读取摄像头帧
            ret, marco = camara.read()
            if ret:
                # 写入视频文件
                grabador.write(marco)
                # 显示实时预览
                cv2.imshow('Grabacion PS3', marco)
                
                # 按Q键停止录制
                if cv2.waitKey(1) & 0xFF == ord('q'):
                    break
            else:
                break
        
        # 释放所有资源(非常重要,不然摄像头会被占用)
        camara.release()
        grabador.release()
        cv2.destroyAllWindows()
    
    if __name__ == '__main__':
        camara1()
    

额外注意事项

  • 先确认你的PS3摄像头已经被系统正确识别,可以在设备管理器里检查有没有未知设备或者摄像头设备。
  • 如果运行时还是识别不到摄像头,把cv2.VideoCapture(0)里的0改成1试试,有时候系统会把外接摄像头识别为第二个设备。
  • Python 2.7和OpenCV 3.4.0.12的兼容性是没问题的,所以不用怀疑版本不兼容,主要就是模块和函数的调用方式变了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:29:15