无法在Opencv2上导入cv

时间:2015-08-17 10:40:14

标签: python opencv numpy

我正在使用Windows 10计算机并使用预先构建的二进制文件从the official link安装了Python,numpy和OpenCV。我可以成功导入numpy和cv2,但在尝试导入cv时出错。

import cv2

import numpy as np
import sys
import cv

def diceroll():
    rng = cv.RNG(np.random.randint(1,10000))
    print 'The outcome of the roll is:'
    print int(6*cv.RandReal(rng) + 1)
    return 

diceroll()

ImportError:没有名为cv的模块

P.S:这不是this question的可能副本。涉及的问题中的用户正在收到dll文件错误,而我遇到cv。

的导入错误

2 个答案:

答案 0 :(得分:4)

在询问OpenCV社区后,我了解到旧的cv或cv2.cv api已完全从OpenCV3中删除

不能使用cv到opencv3的RNG功能。您可以使用numpy.random来实现相同的功能。

参考:我在Opencv社区的question

答案 1 :(得分:2)

它在某处,只需要搜索它。尝试在您的系统上运行以下内容:

from types import ModuleType

def search_submodules(module, identifier):
    assert isinstance(module, ModuleType)
    ret = None
    for attr in dir(module):
        if attr == identifier:
            ret = '.'.join((module.__name__, attr))
            break
        else:
            submodule = getattr(module, attr)
            if isinstance(submodule, ModuleType):
                ret = search_submodules(submodule, identifier)
    return ret

if __name__ == '__main__':
    import cv2
    print cv2.__version__
    print search_submodules(cv2, 'RNG')

在我的系统上,打印:

2.4.11
cv2.cv.RNG