Skip to content

Gaël Jaffrain

  • Image Processing
Gaël Jaffrain
  • Timeline

    Start a new challenge at Apple as an iOS camera tuning and tools engineer

    ByGaël January 13, 2014June 29, 2015

    Read More Start a new challenge at Apple as an iOS camera tuning and tools engineerContinue

  • Blog

    My new GitHub account

    ByGaël June 30, 2013October 12, 2013

    Hi there, I just created one account on GitHub, and added a GPL license on all the samples published so far on this site. Find everything in this repository : https://github.com/gaeljaffrain/Image_Processing_Tutorials As a comment, I find the new GitHub client very handy, and way more user friendly that the existing clients for Git. With this client,…

    Read More My new GitHub accountContinue

  • Image Processing

    Contrast enhancement – part 2/2

    ByGaël April 20, 2013December 2, 2013

    All right, now that we added some missing bricks, like Y’CbCr to RGB , we can finish our contrast enhancement started in the post Contrast enhancement – part 1/2. The goal is to tweak poor contrast images, like this one: And to make these pictures automatically and reasonably contrasted:   So let’s summarize, the idea is…

    Read More Contrast enhancement – part 2/2Continue

  • Image Processing

    Embedding a Processing.js sketch in a WordPress page

    ByGaël April 14, 2013April 14, 2013

    Processing.js is very handy, and it is very cool to run your sketches in your browser. I was looking around for one easy way to embed a sketch into a WordPress page or post, and found a good option. I used the Processing JS plugin, written by Keyvan Minoukadeh. You can get it from this…

    Read More Embedding a Processing.js sketch in a WordPress pageContinue

  • Image Processing

    Color saturation enhancement and Y’CbCr to RGB conversion

    ByGaël April 14, 2013December 2, 2013

    Before finishing the contrast enhancement started in previous post, we need to add a Y’CbCr to RGB function. It will allow us to close the loop : RGB=>Y’CbCr=>contrast enhancement on Y’=>RGB. One easy modification we can do while in Y’CbCr domain is modifying color saturation by multiplying Cb and Cr by a common gain. Finally,…

    Read More Color saturation enhancement and Y’CbCr to RGB conversionContinue

  • Image Processing

    Contrast enhancement – part 1/2

    ByGaël April 2, 2013April 20, 2013

    In the previous image processing posts, we built a luma histogram from a RGB picture. In the next posts, we will work on contrast enhancement. We will use the luma channel, and define 2 luma stretch points, one on the dark side, one on the bright side. So all the pixels having a luma value…

    Read More Contrast enhancement – part 1/2Continue

  • DIY photography

    Macro photography with a smartphone ? DIY !

    ByGaël March 24, 2013December 2, 2013

    Creativity is often allowing us to solve some nice problems. Like, let say, taking macro photo without a macro lens. Plenty of tricks exist and can best be done with interchangeable lens cameras. These tricks include : using the lens upside down, adding a lens element, using extension tubes … Many websites can explain these…

    Read More Macro photography with a smartphone ? DIY !Continue

  • Image Processing

    Luma histogram

    ByGaël March 14, 2013April 2, 2013

    In the previous post we created 3 channels from the RGB original picture : Y’, Cb, and Cr. We will now look that the luma histogram, so using the Y’ channel computed in previous post. What is an histogram ? It is a graphical representation of the pixel value distribution in a picture. It could…

    Read More Luma histogramContinue

  • Image Processing

    Y’CbCr (“YUV”) conversion – part 2

    ByGaël March 13, 2013March 14, 2013

    Now the fun part : the implementation using Processing.js We will load the original picture as in the previous example: img = loadImage(“Yosemite.jpg”); Then we will go through all the pixels by 2 loops: for (int y = 0; y < img.height; y++) { //we loop through every line for (int x = 0; x…

    Read More Y’CbCr (“YUV”) conversion – part 2Continue

  • Image Processing

    Y’CbCr (“YUV”) conversion – part 1

    ByGaël March 11, 2013March 13, 2013

    Ok this week let’s try something a little bit more useful than random manipulation of one picture. Starting from the same beautiful Yosemite picture, we will convert it from RGB color space to Y’CbCr color space. Many websites can help you to get more background on Y’CbCr color spaces, and commonly called “YUV”. I am…

    Read More Y’CbCr (“YUV”) conversion – part 1Continue

Page navigation

1 2 Next PageNext

© 2025 Gaël Jaffrain - WordPress Theme by Kadence WP

  • Image Processing