Python';s OpenCV cv2.imread始终返回None和cvfeats

Python';s OpenCV cv2.imread始终返回None和cvfeats,python,opencv,Python,Opencv,我正在使用python中的opencv,我想一个好的开始是加载一个图像 我已经在我的系统上构建了opencv,并且在tpl/opencv目录中有python绑定和opencv DLL,这与我的项目有关 下面是一些演示问题的代码: from tpl.opencv import cv2 from tpl.opencv.cv2 import cv from PIL import Image pil_img = Image.open('C:/test_file.jpg') #Read a temp

我正在使用python中的opencv,我想一个好的开始是加载一个图像

我已经在我的系统上构建了opencv,并且在tpl/opencv目录中有python绑定和opencv DLL,这与我的项目有关

下面是一些演示问题的代码:

from tpl.opencv import cv2
from tpl.opencv.cv2 import cv
from PIL import Image

pil_img =  Image.open('C:/test_file.jpg') #Read a temp file, the input is actually a computed image chip
tmpname =  'C:/tmp.png' 
pil_img.save(tmpname,'PNG') # Write the image chip to disk

im  = cv.LoadImage(tmpname) # This seems to work
im2 = cv2.imread(tmpname)   # This always returns None
没有错误消息,im2总是没有。我导入opencv的方式可能会弄糟什么吗?有简单的解决方法吗

当我创建

 cvFeatDetector  = cv2.FeatureDetector_create("MSER")
我明白了,所以cv2的那部分似乎起作用了


作为一种解决方法,我刚刚用numpy加载了图像

        im2 = numpy.imread(inname)
        im  = cv2.cvtColor(im2, cv2.COLOR_BGR2GRAY) # This works. I was able to imshow it too
        cvFeatDetector  = cv2.FeatureDetector_create("MSER") # Seems to produce a valid object
        cvFeatExtractor = cv2.DescriptorExtractor_create("SIFT") # Seems to produce a valid object
        kpts         = cvFeatDetector.detect(im)  # Crashes python
我觉得这很奇怪,因为cv2.cvtColor成功地将图像转换为灰度。因此,一些cv2功能确实起作用,而另一些功能则不同程度地失效



编辑。我通过安装opencv的2.4版本修复了这个问题

正如编辑的问题中所述,这是一个在OpenCV v2.4的较新版本中修复的错误。目前似乎没有关于错误修复的进一步信息。

您可以在附件中的png图像和
cv2.getBuildInformation()
的输出中提交错误吗?您是否尝试过直接导入cv2(如中所述,使其仅能
导入cv2
?)