Trucos de diseño para diseñar como locos
Some years ago working for a publishing multimedia company launched the classic suite for retouching photographs at home. That suite had a powerful algorithm to increase the resolution of the images’ files, in the words of the product manager in charge of the product that algorithm was much better than the one used in the Adobe suite.
Since I’ve been using Photoshop long enough, I was quite skeptical of the algorithm. And the test in situ doesn’t served to convert me to the PhotoShop‘s renegades legion. While the image redrawn to the same proportions with the bicubic resampling algorithm which included at that time PhotoShop seemed less clear that the resized with the algorithm included in the retouching software, I hadn’t the opportunity to carefully analyze both images to find out for sure. My professional relationship with the company ended shortly after, for that reason, I had no chance to get my hands on the program in question and see if they had really found the Holy Grail of enlarging images. Nor do I have subsequently seen it on the market, although this is not proof that the software never worked properly.
Increasing document resolution of a bitmap image involves drawing new pixels with reference to data in the original document, this process is called interpolation (or resamplig).
Success in increasing an image resolution depends on the information contained in the original image and to apply the appropriate algorithm for such information
Since I am not a person skilled in math equations I’ll avoid introducing I cannot explain. For this reason at the end of the publication you will find a reference section for all those who are interested in a more detailed explanation. I must also clarify that for technical reasons beyond my control, the vast majority of the programs discussed here are not cross platform, I had not been possible to test all the applications related in this publication. So i do not try to compare both results as to report techniques and methods used.
There are many different methods of interpolation. Among the methods available in Photoshop are the following: approximation, bilinear and bicubic (normal, soft and focus). Approximation method is faster and produces a smaller file, each new pixel assumes the color of the nearest pixel, ie, at a rate of increase of 200% one pixel would become four of the same color. The bilinear
algorithm performs a interpolation off the adjacent pixels and evaluates two linear interpolation functions, first in one direction and then in another within the two dimensions of the image, this process generates a smoother expansion and represents a great leap quality with respect to approximation algorithm, but shows a progressive loss of detail. The method selected by default in Photoshop it’s bicubic interpolation. This multivariable interpolation algorithm uses the values of the sixteen adjacent pixels to generate a more accurate and smooth image. Its variations, smooth and focused, are specifically programmed to increase or decrease, respectively, image documents.
Arriba se muestran un par de ejemplos de interpolación sobre un 200% de la imagen izquierda. En el centro es posible apreciar el funcionamiento de la interpolación por aproximación. Para aumentar la imagen de la derecha se utilizó la interpolación bicúbica. Aún tendría más calidad se se hubiera utilizado interpolación bicúbica suave, según algunas fuentes el algoritmo que mejores resultados ofrece en cuanto a aumentar imágenes se refiere.
Above are a couple of examples of interpolation on 200% of the left image. In the middle is possible to appreciate the operation of the approximation interpolation. To enlarge the image on the right is used bicubic interpolation. It would still have more quality using soft bicubic interpolation, it as been mentioned that this would produce the best result.
Must be made clear that before scaling up or down the image should be prepared first so that the interpolation process works with the most clean information that it’s available.
A widespread practice is to carry out the enlargement process in stages, for example increases of 10% to the image resolution required
The PhotoShop vesion 11.0.1 included in the Adobe Suite CS4 contains a major advance with respect to its previous versions named scale by content. This scaling process protects the most important areas affecting mainly the image pixels in the background or minor impact visual areas, thus this method avoid many of the distortions typical of escalation processes. It also supports the use of alpha channels for masking. This algorithm, called seam carving (sewing) or retargeting, was developed by Shai Avidan and Ariel Shamir to Mitsubishi Electric Research Labs and later adapted into the popular plug-in Liquid resize.
There are a lot of algorithms created to scale images, each developed for aspecific purpose, such as the interpolation algorithms used in games consoles and emulators for MS-DOS. EPX, Scale3x/AdcMAME3x, Eagle, hqnx and 2xSaI (where n is the scaling factor: 2:1, 3:1, 4:1) used in programs such as ZSNES, ScummVM, MAME, Exult or Dosbox, they have been specifically developed to adapt the low resolution bitmaps (thin lines and curves, continuous colors, aliasing) to much higher performance machines. PixInsight is a tool for working with astronomical images using adapted versions of interpolation algorithms as approximate, bilinear, and bicubic spline. There is also a wide range of functions, filters and algorithms such as Gaussian Resample, SmartEdge or RM-S-Spline that are still under development and not integrated into any software application.
Lanczos resampling and the interpolation algorithms’ family based on spline functions deserve an special mention. Lanczos interpolation algorithm indicates what pixels of the original image and what proportion are used to generate the final image. For somedesigners this algorithm is the best compromise in terms of reducing aliasing, sharpness and minimal generation of halos. Spline interpolation is an algorithm where the interpolant is a special type of polynomial called spline. Spline interpolations’s family consists of different types: linear, quadratic, cubic, natural B-spline, S-Spline, etc … Any of you related to 3D design would not fail to imagine a Spline because curves as NURBS (Non Uniform Rational B-Spline) used in programs like Maya, Softimage or 3DMax used them. To get an idea of how a spline interpolation works think of a NURBS curve with a few missing points, well, then this algorithm would be responsible for introduce the needed points preserving the curvature defined by control vertices.
In addition to resizing images, interpolation algorithms are also used in 3D enginesto reduce jagged edges on a method called supersampling or
By now, my choice is to continue using PhotoShop methods. No doubt there may be more powerful algorithms and better trained for specific uses, such as these filters for emulators or programs for medical and scientific applications, to name a few. Many of the software, plug-ins and algorithms mentioned are not multilingual, difficult and costly to acquire, and more complicated to use than the built-in PhotoShop. I still keep trying to find applications that can be useful in this regard, some mentioned here, such as Genuine Fractals of which I have been spoken wonders.