Масштабирование и поворот изображений в C / C ++

Каков наилучший способ масштабирования массива 2D-изображений? Например, предположим, что у меня есть изображение размером 1024 x 2048 байт, причем каждый байт является пикселем. Каждый пиксель имеет уровень шкалы яркости от 0 до 255. Я хотел бы иметь возможность масштабировать это изображение по произвольному коэффициенту и получить новое изображение. Итак, если я масштабирую изображение с коэффициентом 0,68, я должен получить новое изображение размером 0,68 * 1024 x 0,68 * 2048. некоторые пиксели будут свернуты друг на друга. И если я масштабируюсь, скажем, в 3,15 раза, я получу увеличенное изображение с дублирующимися пикселями. Итак, каков наилучший способ сделать это?

Далее я хотел бы иметь возможность поворачивать изображение на произвольный угол в диапазоне от 0 до 360 градусов (0 - 2Pi). Обрезка изображения после поворота не является проблемой. Каков был бы лучший способ сделать это?

Ответы на вопрос(10)

Ваш ответ на вопрос