я пытаюсь написать функцию масштабирования, которая выглядит примерно так:OpenCV функция масштабирования странные результаты
centre = ((im.width-1)/2, (im.height-1)/2)
width = int(im.width/(2.0*level))
height = int(im.height/(2.0*level))
rect = (centre[0]-width, centre[1]-height, width*2, height*2)
dst = cv.GetSubRect(im, rect)
cv.Resize(dst, im)
, когда я использую именно то, что написано выше, я получаю странный результат, в котором нижняя половина результирующей изображение искажено и размыто. Однако, когда я заменить строку cv.Resize(dst, im)
с
size = cv.CloneImage(im)
cv.Resize(dst, size)
im = size
он работает отлично. Почему это? есть что-то принципиально неправильное в том, как я выполняю масштабирование?