I'm very interested in learning about algorithms in photography (in particular processing photos). In addition to algorithms, I'm interested in learning about photo formats (probably RAW and jpeg the most).

I basically want some good starting points for being able to start writing my own photography-related software and to better understand how existing software works. Examples might include things like noise reduction, combining images for hdr, cloning/healing, adjusting exposure, filters, etc.

(As a side note, are there popular toolkits or libraries that a lot of people use for writing software like this or is everyone reinventing the wheel :-)?)

closed as not a real question by mattdm, Itai, jrista May 27 '12 at 16:50

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    You could look at the source code for the GIMP and RawTherapee. In any case, this is off-topic and should be closed, as it relates more to programming as well as image processing in general than as a part of photography. – bwDraco May 24 '12 at 10:05
  • Please see the FAQ: photo.stackexchange.com/faq#dontask Without even considering if it's on-topic, this question is just way too big. – mattdm May 24 '12 at 10:31
  • @mattdm: I don't see how it's off topic. How is this "way too big"? How is it any different from any of the other numerous questions about "where do I start learning photography" such as this: photo.stackexchange.com/questions/16/… (and many others you can find). Just because this has to do more with the technical side of photography, I think this is perfectly reasonable to ask here. It would certainly help others who are more interested in post processing and such. – Tom May 24 '12 at 14:36
  • Also, when I want to ask hardcore programming questions about a specific algorithm... then I'll go over to the tech stack exchanges. I don't think this is one of those. We have allowed questions like this: photo.stackexchange.com/questions/13775/… mine is just a little more general "Where do I start learning about this stuff". – Tom May 24 '12 at 14:37
  • Ok... I'm reading photo.stackexchange.com/faq now which has more direct guidelines. I'd like to think this is not a specific programming or image manipulation questions. This is more of "how does lightroom work?" which I think is valuable. If this isn't the site I should be asking this, where should I ask this because I think it's a good questions that is worth having an answer for. – Tom May 24 '12 at 14:40

Download the ImageMagik code (http://www.imagemagick.org/script/index.php) and start reading through the source. That should get you started on image manipulations.

The download lcms (http://www.littlecms.com/) to get a handle on how to manipulate color spaces.

These two toolkits are very popular, I used both of them myself for imaging software.

Not the answer you're looking for? Browse other questions tagged or ask your own question.