Плавное увеличение масштаба с использованием OpenCV (CV2) и PythonPython

Программы на Python
Ответить
Anonymous
 Плавное увеличение масштаба с использованием OpenCV (CV2) и Python

Сообщение Anonymous »

Я создаю видео из набора изображений, генерируя каждый кадр видео с помощью Python и библиотеки CV2. Это работает.
Чтобы сделать видео более динамичным (а не просто набором неподвижных изображений, идущих одно за другим), я добавил к каждому изображению эффект масштабирования. По сути, я для каждого кадра вычисляю, какой масштаб мне нужно применить, а затем слегка изменяю размер кадра, используя приведенный ниже код.

Код: Выделить всё

# Extract the zoomed part of the image using floating-point coordinates
zoomed_image = cv2.resize(current_image[int(y1):int(y2), int(x1):int(x2)], (res_w, res_h), interpolation=cv2.INTER_LINEAR)
Я работаю с ограничением метода cv2.resize, который принимает только целочисленные значения для координат x и y.
Это отлично работает, когда я Я применяю, скажем, 5%-ное увеличение к изображению, которое отображается в течение очень короткого периода времени. В этом случае, даже если я преобразую целые числа x и y, они в конечном итоге будут разными для каждого кадра (при 30 кадрах в секунду), а размер следующего кадра будет немного отличаться от предыдущего. Масштабирование в конечном итоге происходит плавно.
Но когда эффект масштабирования применяется к изображению в течение более длительного времени, целочисленное преобразование создает несколько кадров с одинаковым x или y или обоими x и y. координаты одинаковы для 3-5 кадров. Это делает эффект масштабирования прерывистым.
Есть ли лучший способ изменить размер изображения для целей масштабирования, где я могу использовать значения с плавающей запятой координат x и y, которые я вычислил, вместо преобразования их в int?
Или есть лучший способ применить эффект масштабирования к каждому кадру другим способом?

Подробнее здесь: https://stackoverflow.com/questions/790 ... and-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»