我使用的是Windows10机器,并且已经使用预先构建的二进制文件从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的模块
附言:这不是this question的可能复制品。问题中的用户得到了一个dll文件错误,而我却遇到了cv的导入错误。
发布于 2016-02-10 22:25:52
在询问OpenCV社区后,我了解到旧的cv或cv2.cv api已从OpenCV3中完全删除。
不能通过opencv3使用cv中的RNG函数。您可以使用numpy.random来实现相同的功能。
参考:我的question on Opencv社区
发布于 2015-08-19 00:47:07
它就在那里的某个地方,只需要搜索一下。尝试在您的系统上运行类似以下内容:
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.RNGhttps://stackoverflow.com/questions/32048313
复制相似问题