AttributeError:模块'cv2.cv2'没有属性'cv'(类似的主题没有帮助)
Posted
技术标签:
【中文标题】AttributeError:模块\'cv2.cv2\'没有属性\'cv\'(类似的主题没有帮助)【英文标题】:AttributeError: module 'cv2.cv2' has no attribute 'cv' (similar topic didn't help)AttributeError:模块'cv2.cv2'没有属性'cv'(类似的主题没有帮助) 【发布时间】:2021-01-12 19:35:04 【问题描述】:我正在使用 python-OpenCV 4.4 版并且只运行一个基本代码块:
import cv2
camera_capture = cv2.VideoCapture(0)
fps = 30
size = int(camera_capture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)),\
int(camera_capture.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT))
video_writer = cv2.VideoWriter('MyOutputVid.avi', cv2.cv.CV_FOURCC('I','4','2','0'),
fps, size)
我得到AttributeError: module 'cv2.cv2' has no attribute 'cv'
我知道已经从 OpenCV 过渡到 OpenCV2,但是如何
进口受到影响?
我发现了类似的主题 here,但从代码中删除第二个 cv2
对我的情况没有帮助。它只是抛出了另一个错误AttributeError: module 'cv2.cv2' has no attribute 'CV_CAP_PROP_FRAME_WIDTH'
如何使用属性?
【问题讨论】:
见***.com/q/51853018/11667949 @ShivamJha ^ 这有什么帮助?我没有安装问题。 我猜你可以测试几个组合。它可能应该是“ cv2.CAP_PROP_FRAME_HEIGHT ”。在此处查看更多示例:***.com/questions/31076403/… @Grebtsew 我已经试过了。收到错误cv2 has no attribute CAP_PROP_FRAME_HEIGHT
Okej,它似乎在 python 3.8、cv2 4.4.0.42 上为我工作。重新安装试试?
【参考方案1】:
所以这段代码似乎可以工作。希望做你想做的事。适用于 Windows 10、python3 3.8.6 64 位、opencv-python 4.4.0.42。
import cv2
camera_capture = cv2.VideoCapture(0)
fps = 30
size = int(camera_capture.get(cv2.CAP_PROP_FRAME_WIDTH)),\
int(camera_capture.get(cv2.CAP_PROP_FRAME_HEIGHT))
vidwrite = cv2.VideoWriter('testvideo.avi', cv2.VideoWriter_fourcc('I','4','2','0'), fps,
size,True)
# Write and show recording
while camera_capture.isOpened():
_, frame = camera_capture.read()
vidwrite.write(frame)
cv2.imshow("showlive", frame)
cv2.waitKey(1)
如果您仍然对 CAP_PROP_FRAME_HEIGHT 有问题,我建议重新安装 opencv。 32 位版本的 python3 不支持 OpenCV 中的某些函数,可能也值得检查。当然,另一种方法是使用height, width, _ = frame.shape
参见上面代码中的frame。
【讨论】:
所以主要问题是CV_CAP_PROP_FRAME_WIDTH
与 CAP_PROP_FRAME_WIDTH
在从 cv1 到 cv2 的过渡期间,它们显然也更改了方法的名称。我正在从 2016 年出版并使用 cv2 的书中学习,但书中使用的某些方法保持不变并引发错误。以上是关于AttributeError:模块'cv2.cv2'没有属性'cv'(类似的主题没有帮助)的主要内容,如果未能解决你的问题,请参考以下文章
属性错误模块 'cv2.cv2' 没有属性 'videocapture'
AttributeError: module ‘cv2.cv2‘ has no attribute ‘MultiTracker_create‘
模块“cv2.cv2”没有属性“xfeatures2d”,模块“cv2.cv2”没有属性“SIFT”