MiMoriarty

Trucos de diseño para diseñar como locos

Watch out for magnified images

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.

Interpolation algorithms

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: approximationbilinear 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. EPXScale3x/AdcMAME3x, Eaglehqnx and 2xSaI (where n is the scaling factor: 2:1, 3:1, 4:1) used in programs such as ZSNES, ScummVM, MAMEExult 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
anti-aliasing.

Others softwares

  • One of the plug-ins that is gaining more followers every day is Genuine Fractrals. Available in PhotoShop was originally developed by the team of Steven Bender focused in the analysis of the PIFS (Partitioned Iterated Function Systems).
  • PixInsight  is a software developed specifically for astronomical image processing. For this work it uses its own customized versions of the interpolation algorithms: approximation, bilinear, bicubic B-spline, etc…
  • PhotoZoom Software uses an interpolation method with S-Spline filters, one of the most advanced polynomial filters. According to the experiences of people who have had a chance to prove it, it is able to obtain a high level of detail, but taken to extremes tends to produce a watercolor effect in images.
  • Qimage is printing software which is likely used to expand the image using various interpolation algorithms, some of them quite successful as Lanczos resampling.
  • Optipix 3 is another plug-ins’ set among which is the option of using interactive interpolation algorithm Lanczos resampling among others. The method used to interpolate the image is a bit strange but after a little experimentation is possible to extract a little more clarity and focus to the bicubic interpolation in Photoshop, and the demo that I had tested it is a few years old. Yet the result does not seem too promising and probably you could get a similar result, or better, with the tools included in PhotoShop.
  • The iamges’s editor SAR Image Processor offers a wide range of interpolation methods among which are an adaptation of Lanczos resampling called Lanczos 3 or the algorithm Iterated Function System.

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.

JoD

Enlaces externos:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Information

This entry was posted on July 1, 2011 by in Conocimientos, multilanguaje and tagged , , , , , .

Top Rated

July 2011
M T W T F S S
« Jun   Aug »
 123
45678910
11121314151617
18192021222324
25262728293031
%d bloggers like this: