python - AttributeError: 'module'对象没有属性 'cv'

标签 python opencv

尝试执行BGR到二进制阈值转换时,出现以下错误。

imgthreshhold = cv2.inRange(img, cv2.cv.Scalar(3,3,125), cv2.cv.Scalar(40,40,255)) AttributeError: 'module' object has no attribute 'cv'



以下是完整的程序。
import cv2

cap = cv2.VideoCapture(0)
#help(cv2)
while cap.isOpened():
    #BGR image feed from camera
    ret, img = cap.read()
    cv2.imshow('output', img)
    #BGR to grayscale
    img2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    cv2.imshow('grayscale', img2)
    #BGR to binary(RED) thershholded
    imgthreshhold = cv2.inRange(img, cv2.cv.Scalar(3,3,125), cv2.cv.Scalar(40,40,255))
    cv2.imshow('threshholded', imgthreshhold)

    k = cv2.waitKey(10)
    if k==27:
        break

cap.release()
cv2.destroyAllWindows()

我怎样才能解决这个问题?

最佳答案

我一直面临着同样的问题。而且我认为我们正在遵循OpenCV的同一教程。我稍微弄乱了这个函数,发现只提供值就可以了。

因此,您的代码应如下所示:

import cv2

cap = cv2.VideoCapture(0)
#help(cv2)
while cap.isOpened():
    #BGR image feed from camera
    ret, img = cap.read()
    cv2.imshow('output', img)
    #BGR to grayscale
    img2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    cv2.imshow('grayscale', img2)
    #BGR to binary(RED) thershholded
    imgthreshhold = cv2.inRange(img, (3,3,125), (40,40,255))
    cv2.imshow('threshholded', imgthreshhold)

    k = cv2.waitKey(10)
    if k==27:
        break

cap.release()
cv2.destroyAllWindows()

关于python - AttributeError: 'module'对象没有属性 'cv',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38934374/

相关文章:

python /Django : RelatedObjectDoesNotExist: Cart has no user

python - 在一个线程中创建的对象只能在同一个线程中使用

c++ - OpenCV Otsu 的阈值 : Calculate single threshold value for multiple Mat objects

c++ - OpenCV 只返回红色形状图像

c - 如何删除对象/结构?

python - 在Python中从图像中提取每个像素的x,y坐标

python - Python 中的 CMAC-AES

python - pip install Askbot 错误 - 命令 "python setup.py egg_info"失败,错误代码 1

python - 具有对角矩阵的点积,无需创建完整矩阵

C++;浮点异常;没有./运算符