12 June 2022

Interpolating (hue) angles

2022-06-15T10:40:56-04:0012 June 2022|Categories: Image processing|0 Comments

#The problem to solve

In image processing, retouchers may want to apply a saturation boost on specific hues only. Typically, uniform saturation corrections follow a basic linear transfer function $sat_{out} = gain \cdot sat_{in}$, where $gain$ is a real positive constant. To target specific hues, we simply rewrite $sat_{out}(hue) = gain(hue) \cdot sat_{in}$ where $gain$ is then a function. The most common way to [...]

2 June 2022

Open source and professional photography : lies and wishes

2022-06-02T17:35:56-04:002 June 2022|Categories: Image processing|2 Comments

There is one thing you will find on the home page of pretty much any open source (call it libre or free if you will, those lines are blurred) image editing software : the promise that it is, somehow, suitable for professionals. Marketing has abused that word for decades, it is only natural that it should affect non-commercial and non-profit projects as well, just to try [...]

11 February 2022

Color saturation control for the 21th century

2022-05-03T20:57:47-04:0011 February 2022|Categories: Image processing|5 Comments

The saturation control of pretty much all image processing software is an unfortunate misnomer, to say the least. It actually controls either the chroma in Ych-like spaces (computed from CIE Yxy 1931, Yuv or YCbCr spaces), or some remote idea of saturation as used by HSL spaces, which are essentially a polar rewriting of RGB coordinates (usually expressed in sRGB space).

The “saturation” as defined [...]

2 October 2021

WebP is so great… except it’s not

2021-10-03T05:39:15-04:002 October 2021|Categories: Image processing|2 Comments

I’m a responsible web designer, and as such, since WordPress (finally) accepts media uploads of image/webp MIME type and since all web browsers newer than september 2020 (even Apple Safari \o/) can display it, I have been moving my photos library to WebP. After all, when you create content, the least you can do is to also provide the smoothest user experience around it.

WebP falls [...]

18 April 2021

The sRGB book of color

2021-04-19T15:53:22-04:0018 April 2021|Categories: Image processing|2 Comments

This page is inspired by the Munsell book of color. It aims at showing the sRGB gamut volume (all the visible colors that can be encoded as sRGB triplets), projected into a perceptually uniform lightness/chroma space (using JzAzBz color space[^1]), and sliced across hue planes. The sRGB space is the lowest common denominator of all general-audience screens, and is deemed fit to choose colors for [...]

21 March 2021

Rotation-invariant Laplacian for 2D grids

2022-01-05T17:43:48-05:0021 March 2021|Categories: Calculation|4 Comments

NOTE : this article is a work in progress and not finished yet.

#Introduction

The Laplacian operator $\Delta u$ is the divergence of the gradient, that is the sum of the second-order partial derivatives $\nabla^2 u$ of a multivariate function, which represents the local curvature of this function. This operator is widely used for edge-detection[^1], as well as in partial-differential equations (Poisson, etc.), and other [...]

26 February 2021

Image processing does not kill people… and it’s a shame

2021-03-07T01:07:51-05:0026 February 2021|Categories: Image processing|4 Comments

Among the technical fields, quite a few have the potential to harm the public : the first that come to mind are medicine and civil engineering. Both have in common their scientific basis : studies, data, models and history form a corpus of knowledge and tools used by the practitioners to help making choices. However scientific their basis is, the practice remains an art [...]

9 April 2020

The designer and the drilling machine

2022-06-02T17:21:07-04:009 April 2020|Categories: Mechanical design, Software design|0 Comments

As a designer, your job is to match someone’s needs/problems with a solution. The tricky part is, this someone is not necessarily the client you are talking with and who pays you, it could be a third party that you only know of through your paying client.

As an engineer, the particular kind of design you do aims toward technical solutions, so you might produce plans, [...]

16 March 2020

Bilinear interpolation on images stored as Python Numpy ndarray

2020-04-01T11:10:54-04:0016 March 2020|Categories: Image processing|Tags: , |0 Comments

<

p>If you are working in image processing and using Python as a prototyping script language to test algorithms, you might have noticed that all the libs providing fast image interpolation methods (to either sub-sample or over-sample) work in 8 bits unsigned integers (uint8). This is quite annoying if you are working with floating point images. PIL supports floating point interpolation, but only for one [...]

17 January 2019

Derivating HDR-IPT direct and inverse transformations

2021-03-06T14:45:06-05:0017 January 2019|Categories: Image processing|3 Comments

<

p>Following my work on the filmic tonemapping, several users have reported issues with very saturated blue areas (stage spotlights, bright skies) and red areas. The grail of image processing is being able to affect colors and brightness independantly. The big conundrum of tonemapping is raising luminance without affecting perceptual colors, and, by color, we mean hue and [...]

Go to Top