Pixel upscaling algorithms?

Hello again, I am trying to do some intense visual processing which requires the images be downsized for acceptable performance… However, I would like to upscale the processed image to appear sharper
There are such things as pixel art upscaling algorithms , I wonder if something like this is possible in OpenCV?

I would like to avoid using the ‘dnn-superres’ interface from OpenCV-Contrib because I would like to have the performance of pixel-based algorithms, and I do not need the image quality of a neural network

Probably the simplest and fastest upscaling algorithm is the Lanczos filter:

resize(low_res_image, large_image, Size(), scale, scale, INTER_LANCZOS4);

Note that the best algorithm depends on the application. Pixel art upscaling works mostly on pixel art (with limited color palette and large areas of the same color).

Here’s a tutorial implementing and comparing different (classic and deep learning based) upscaling algorithms: OpenCV: Super-resolution benchmarking

2 Likes