Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OpenCV在cv上崩溃。调整大小_Python_Opencv - Fatal编程技术网

Python OpenCV在cv上崩溃。调整大小

Python OpenCV在cv上崩溃。调整大小,python,opencv,Python,Opencv,在Windows7上运行OpenCV时,使用标准的python shell,我得到以下行为 import cv im = cv.LoadImageM("data/somefile.jpg") thumb = cv.CreateMat(im.rows/6, im.cols/6, im.type) print "Before" cv.Resize(im, thumb) print "After" 给出: >>> Before ======================

在Windows7上运行OpenCV时,使用标准的python shell,我得到以下行为

import cv
im    = cv.LoadImageM("data/somefile.jpg")
thumb = cv.CreateMat(im.rows/6, im.cols/6, im.type) 

print "Before"
cv.Resize(im, thumb)
print "After"
给出:

>>> Before
========================= RESTART ==========================

没有抛出错误,我应该查找什么?是什么导致OpenCV/Python中出现这种崩溃?

OpenCV中的大多数内存分配都未经检查,可能会导致崩溃。OpenCV还试图通过C代码抛出异常,这可能导致任何情况发生(通常是崩溃),具体取决于编译方式


检查
im.rows/6
等的值是否符合您的预期,并且图像大小应在python内存限制内。

我必须使用Visual Studio(Express)2010重建OpenCV,而不是MinGW,这才是关键,所以我猜它最终只是一个错误的构建。

我不认为你的程序崩溃了,它正在做你告诉它做的事情。 请参阅下面的代码,我将openCv 2.2与python 2.7.2一起使用。请尝试使用WaitKey()来防止崩溃

import cv
cv.NamedWindow("win",cv.CV_WINDOW_AUTOSIZE)
im= cv.LoadImageM("image.jpg")
thumb= cv.CreateMat(im.rows/3, im.cols/3, im.type) 
cv.Resize(im, thumb)
cv.ShowImage("win",thumb)
cv.WaitKey(10000)

该代码适用于我的OpenCV 2.2二进制文件。它至少应该打印出“After”一行,不是吗?