OpenCV падает на cv.Resize - PullRequest
       5

OpenCV падает на cv.Resize

1 голос
/ 04 января 2011

При запуске OpenCV в Windows 7, используя стандартную оболочку Python, я получаю следующее поведение:

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?

Ответы [ 3 ]

1 голос
/ 05 января 2011

Мне пришлось перестраивать OpenCV с использованием Visual Studio (Express) 2010 вместо MinGW , что и помогло, так что, я думаю, это была просто неисправная сборка в конце .

1 голос
/ 04 января 2011

Большая часть выделения памяти в OpenCV не проверяется и может привести к сбоям.OpenCV также пытается генерировать исключения через код C, что может привести к чему угодно (обычно к аварийному завершению) в зависимости от того, как он был скомпилирован.

Проверьте, соответствуют ли значения im.rows/6 и т. Д. Ожидаемым, ичто размеры изображения должны быть в пределах памяти Python.

0 голосов
/ 01 сентября 2011

Я не думаю, что ваша программа дает сбой, она делает именно то, что вы говорите. См. Коды ниже, я использую 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...