Main
Photo Portfolio
Baseball
ShutterSounds Blog
Projects
Resumé (pdf)
About

Exampe 6: Relative edge-sensing bilinear interpolation

Relative Edge-sensing Bilinear
Relative Edge-sensing

Relative edge-sensing uses a similar scheme as ordinary edge-sensing, but has the slight modification of basing edge detection on relative difference in intensity gradients between the two directions, rather than an absolute difference. This algorithm seems to produce slightly better quality.

Relative Edge-sensing Bilinear resized 3x
(Resized 3x for clarity)

Algorithms

Choose an algorithm from the left. Feel free to send suggestions/links for new ones to thedailynathan at gmail.

Shown here is the original image for reference, and the simulated Bayer raw data which the different algoriths are run on. The simulated Bayer data is generated by taking only green, red, and blue values from the corresponding pixel in a 2x2 GRGB Bayer pattern. Assuming the image used is a 100% crop taken from an image with the top-left pixel (at position 0,0) being a first green photosite (G1), this should be a fairly accurate representation of the actual raw data (assuming of course, that a camera using a Bayer filter sensor was used, and ignoring any compression losses due to compression to 24-bit true color and possible JPEG lossy compression).

Note that this demo does not quite work as effectively with resized images (this demo resizes images greater than 300x300 for performance reasons), or images not generated from a camera using a Bayer sensor. In these cases, resolution can approach or exceed that of a Bayer sensor and anti-aliasing (AA) filter combination, and severe mosaicing artifacts should be expected to appear, no matter the algorithm.

Pixel-binned
Original image
Pixel-binned
Simulated Bayer raw data