Python 错误:调用cv.ShowImage时mat.isContinuous()
我刚刚升级到Python2.7.4(从2.7.3版)和OpenCV 2.4.5(从2.4.0版),因为我需要它们附带的一些新功能 我之前有几行代码运行良好,基本上将两个图像合并为一个,并显示结果图像。代码如下:Python 错误:调用cv.ShowImage时mat.isContinuous(),python,opencv,Python,Opencv,我刚刚升级到Python2.7.4(从2.7.3版)和OpenCV 2.4.5(从2.4.0版),因为我需要它们附带的一些新功能 我之前有几行代码运行良好,基本上将两个图像合并为一个,并显示结果图像。代码如下: def doCombineImages(image1,image2): tempImg1 = cv.CreateImage((int(image1.width/imgScale),int(image1.height/imgScale)),cv.IPL_DEPTH_
def doCombineImages(image1,image2):
tempImg1 = cv.CreateImage((int(image1.width/imgScale),int(image1.height/imgScale)),cv.IPL_DEPTH_8U,3)
tempImg2 = cv.CreateImage((int(image1.width/imgScale),int(image1.height/imgScale)),cv.IPL_DEPTH_8U,3)
cv.Resize(image1, tempImg1)
cv.Resize(image2, tempImg2)
outImg = cv.CreateImage(((tempImg1.width*2)+5,tempImg1.height),cv.IPL_DEPTH_8U,3); cv.Zero(outImg)
cv.SetImageROI(outImg, (0, 0, tempImg1.width, tempImg1.height))
cv.Copy(tempImg1, outImg)
cv.ResetImageROI(outImg)
cv.SetImageROI(outImg, (tempImg2.width+5, 0, tempImg2.width, tempImg2.height))
cv.Copy(tempImg2, outImg)
cv.ResetImageROI(outImg)
return outImg
.
.
.
.
image1 = cv.LoadImageM(imageToLoad1, cv.CV_LOAD_IMAGE_GRAYSCALE)
image2 = cv.LoadImageM(imageToLoad2, cv.CV_LOAD_IMAGE_GRAYSCALE)
combiImages = doCombineImages(image1,image2)
cv.ShowImage('Combined Images',combiImages)
cv.WaitKey(0)
cv.DestroyAllWindows()
按上述方式升级后,我收到错误信息:
cv.ShowImage('组合图像',组合图像)错误:mat.isContinuous()
最初,我不得不安装ActivePython,以便按照建议闲置以再次工作
似乎找不到此错误的任何正确引用。有人遇到过这样的错误吗
提前感谢您的回复。通过卸载Python和所有库并从头开始解决
这很痛苦,但似乎已经奏效,尽管64位版本一开始并没有真正起作用。在我的计算机上,似乎只有32位版本的Python、Numpy和OpenCV可以正常工作。您尝试过使用新的界面“cv2”吗?现在不推荐使用“cv”界面。OpenCV甚至删除了git repo中的samples文件夹(/samples/python)。感谢您的评论。升级背后的想法是切换到cv2,虽然它在我以前的版本中可用,但我想开始使用最新的版本。我主要担心的是,在完成转换之前,我仍然需要使用一些旧代码(使用cv编写)。旧代码不起作用这一事实在转换所有旧代码时造成了一个巨大的问题和巨大的紧迫性,而这些旧代码在此时并不理想。一些附加信息。。。如果我将cv.ShowImage行更改为显示一个输入图像,它不会抛出错误,但仍然不显示图像,只显示带有灰色背景的图像窗口。我还完全卸载了所有python和库,包括opencv,并从头开始重新安装了所有内容。还是没有快乐!!