我正在使用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。
的导入错误答案 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