我有一个简单的代码,如下所述:
import cv
from opencv.cv import *
from opencv.highgui import *
img = cv.LoadImage("test.jpg")
cap = cv.CreateCameraCapture(0)
while cv.WaitKey(1) != 10:
img = cv.QueryFrame(cap)
cv.ShowImage("cam view", img)
cascade = cv.LoadHaarClassifierCascade('haarcascade_frontalface_alt.xml', cv.Size(1,1))
但我遇到了这个错误:
# AttributeError: 'module' object has no attribute 'LoadImage'
当我将代码更改为以下内容时:
import cv
#from opencv.cv import *
#from opencv.highgui import *
img = cv.LoadImage("test.jpg")
cap = cv.CreateCameraCapture(0)
while cv.WaitKey(1) != 10:
img = cv.QueryFrame(cap)
cv.ShowImage("cam view", img)
cascade = cv.LoadHaarClassifierCascade('haarcascade_frontalface_alt.xml', cv.Size(1,1))
现在第一个错误得到解决,另一个错误提升。
AttributeError: 'module' object has no attribute 'LoadHaarClassifierCascade'
我需要这两个模块,但似乎它们之间存在冲突。
现在我要做什么?
答案 0 :(得分:5)
在OpenCV中加载一个haar分类器(无论如何都在python接口中)你只需要使用cv.Load。
import cv
cascade = cv.Load('haarcascade_frontalface_alt.xml')
参见示例here。
此外,OpenCV源附带的样本非常好(OpenCV-2.xx/samples/python
)。
答案 1 :(得分:1)
如何访问您导入的内容?
# imports the cv module, all stuff contained in it and
# the module itself is now accessible via: cv.classname, cv.functionname
# where classname, functionname is the name of the class/function which
# the cv module provides..
import cv
# imports everything contained in the opencv.cv module
# after this import it is available via it's classname, functionname, etc.
# Attention: without prefix!!
from opencv.cv import *
# @see opencv.cv import
from opencv.highgui import *
@see python modules了解有关python中模块和导入的更多详细信息。
如果您可以提供哪个类包含在哪个模块中,我可以为您的问题添加特定的解决方案。