Using The GIMP (or Photoshop) to Improve Photos?
Nom du Keyboard asks: "Is it possible to use The GIMP (or Photoshop) to improve my digital photos? I have a mid-range 7.1MP Olympus camera capable of shooting in Raw mode. When I inspected a section of clear blue sky on a bright, sunny day (which I've long believed to be relatively good reference of uniform color and brightness) I was surprised (disappointed, since I expect digital perfection) at the variance in adjacent pixels. It's also a quick way to identify any bad pixels. Surprisingly, actual photos from this camera look pretty good despite this variance so far. Moving on from that point it led me to wonder that, if you shot a uniform white surface, perhaps blurred as much as possible to avoid any imperfections in the surface itself, could a correction (adjustment) layer be created in GIMP or Photoshop exactly tuned to your camera that fixed the variations in your CCD sensor and improved the image quality in the process. Any thoughts?"
I don't know. Why don't you try it?
http://alternatives.rzero.com/
That's an interesting idea, but it assumes some pretty clean conditions. The light has to be absolutely the same over the entire surface, it would probably need to be blurred as you said, the surface would have to be absolutely the same color everywhere (no dust, no marks), the surface would to be completely non-reflective, and probably some other things that I haven't thought of. It would be extremely hard.
It also assumes that the variations are always the same, and that the variations in your photos are from defects and not from the natural color differences in the real world and the digital camera's attempt to map them to a very restricted color palette.
"If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
What you describe is normal, and your question exhibits a lack of understanding about white ballence.
essentially, if your white is right, then all the other colors will be as well. your camera has several settings to compinsate for various light types (Tungsten, Flourescent, Daylight)Yours is probably set to AWB (Auto) which is easy - as the camera will figure it out pretty well and a Custom - which you can configure based on the lighting by shooting a grey card - which is a card that is 15% grey (Or there abouts) that the camera can then use to figure out what true white is.
The variation in pixels can also be the result of the ISO setting you are using. 100 has the least noise, but also requires longer exposures. higher settings react faster, but have more noise (400,800,1600) This is a tradeoff between desigered exposure and ambiant light.
I would suggest reading Strobist for more on lighting. There are also several other sites dedicated to post processing images, that you may find helpfull. it also might be worth looking at the various pool discucssion groups on Fliker.
-Peter
While playing with it a while ago, I found that JPGs compress something like 25-33% better after you remove the CCD noise. Improving the image quality while making the images take less space seems like a nice combination. :)
This seems like it would be great to get in the hands of more people as a free software app or plugin, but I'm not aware of any.
-- Aaron
Aaron
Using the sky or a white piece of paper may be interesting, but it probably won't give you anything you can use to calibrate the rest of your photos.
A better bet for isolating the noise your camera generates is to take completely black photos, using the lens cap and some extra covering (and a dark room) to make sure absolutely no light hits the sensors. This will let you make raw images of the "dark noise" and "bias noise" that your camera generates, and subtract those images from your real photos before doing any other processing.
Details of this method can be found here: http://photo.net/learn/dark_noise/.
If we saw a sample of the photos, it would be easy to determine if they could be fixed. Its hard to understand what the exact problem is from a text description, but the general answer is: Yes, anything can be done with The GIMP / PS.
Sigs are for Terrorists.
You're almost right. The method you're using is called Dark Frame Subtraction. The idea is that you photography the non-random noise inherent in the sensor and then take that out of the captured images. To do this, you make an image that is completely black (i.e. body cap on the front of the camera and viewfinder cover on the back) at the same temperature conditions and for the same length of shutter speed as the image you are trying to fix. Then you add that as a layer in photoshop, subtract it from the real image, and the non-random noise disappears.
However, it is MUCH more likely that the noise you are complaining about is random thermal noise, which is not treatable via Dark Frame Subtraction. Because it's, well, random noise, it'll be different in every shot. There are several photoshop plugins that can address this issue. In my opinion, the most effective and easiest to use of them is Noise Ninja.
You already can. Some cameras let you shoot against a blank white area to compensate for dust particles on the CCD. It's called "Dust Reference" in Nikon Capture, which works with most of their DSLRs.
An article about correcting CCD variation
Vignettation Removal
-- these are only opinions and they might not be mine.
It is possible to smooth rough skies and such in Photoshop, I can't speak from personal experience with the GIMP but I'd expect something similar would work. I'd take the image, duplicate a regular (non-adjustment) layer on top of the main image, call that second one "smoothed"), blur it (Gaussian blur, fiddle with the radius to keep the effect gentle), add a layer mask to "smoothed" and paint it so that it only targets the sky in a shot. You may end up finding that you want to leave a little noise in the resulting image to avoid posterization, if your results are too smooth you can always adjust the opacity of the smoothed layer downward.
I'm a nature photographer.
a) If you are using anything above ISO50 on a cheap digital (like yours), you will get ISO noise
b) blue sky is not really blue, you can't expect 7.1 million pixels to all agree
c) there may have been microscopic dust on your lens
Basically, you're looking for your camera to be Adobe Illustrator, and it isn't.
I want to delete my account but Slashdot doesn't allow it.
Scale down the picture, choose cubic interpolation and you're done. You can't fix the original, the information is scrambled already, but you can use the information of the larger image to average the pixels of the small image to get something clean. When you read X mega-pixels, you should know that this is a scam. There are no camera out there that will give you an image usable at X resolution but you can still have pretty pictures at X/2 (which is roughly 3/4 of the side on the original).
Something similar is done in astrophotography. There are two kinds of fields you can remove from your images. A dark frame (taken with the lens cap on) is subtracted to remove things like pattern noise, hot pixels and amp glow that appears in images. A flat frame is then used to remove multiplicative effects, like vignetting and dust spots. Acquiring a flat frame can be tricky. One of the best ways is to use a translucent lens cap and a fairly bright light that provides a fairly uniform illumination.
However, the effects (unless there's something seriously wrong with your camera) are really only noticeable for long exposures.
First, the biggest improvement you are likely to see in the Gimp is if you go to Colour->Layers (in older versions of the Gimp it's Layers->Colours->Levels) and click Auto. For pictures that should contain some black and some white this will usually make a noticeable improvement.
Second, yes, Canon (for example) includes (Windows only, proprietary, secret, closed-source) software to compensate: you shoot a 25% grey surface. You can also use this inside the camera itself: there it will use the data for white balance correction.
In practice, though, it's fairly hard to do this yourself. One difficulty is that the amount and position of colour aberrationswill probably vary depending on the lens you use, or, with a fixed lens, the amount of zoom and the aperture size. I know I found that when my Casio developed some dark spots.
There are some programs that are used with hugin, the panorama stitching UI, that help with some lens corrections; it might be you could ask those people. However, a lot of the variation you are seeing is likely to be digital noise. Try taking 3 shots usinga tripod and timer or remote, and comparing them.
Live barefoot!
free engravings/woodcuts
GREYCstoration. Ugly name, but does the same job, and is open source. Haven't tried it, but there appear to be several plugins for various open source digicam programs and image editors (bottom of their downloads page).
Slashdot - the place where you can look like a genius by restating the obvious
Pixels are not identical in their dark current and light sensitivity.
For information on correcting these issues which compound in long exposures, find a good astronomy photographers forum. They discuss taking long exposures of various times with the camera capped to identify bright (high dark current) pixels. They use these corrections in their star shots of the same exposure time to subtract out the brightness caused by high dark current pixels. In bright scenes the same thing can be done to correct for low sensitivity (low bright current) pixels. A way out of focus shot of a white screen with primary color filters or lighthing should be able to give you some good sensor correction factor data. Remember that the errors are temprature sensitive so a full correction may be hard to get.
The truth shall set you free!
You'd be just devastated if you blew a film image up to the level where you could see the grain.
Here are two questions for you:
1) Do you find that you are printing your images at sizes larger than 12x18?
If you are, then you probably ought to have more pixels (i.e., a better camera). I'm okay with digital pictures down to about 150dpi, others swear that you need 300+. Then again, there are people who swear that $3000 unobtainium coated silver strands wrapped in virgin PTFE and assembled when the planets are in alignement make their music sound better.
2) Presuming you are actually printing at at least 200dpi, can you really see the difference without a loupe on the final prints? I'm not worried about your monitor, because I'm going to bet that if you have a consumer-level camera, you're not doing photoediting on a 7.1MP monitor.
You see, if you can't tell, don't worry about it. Let your geek side go and spend more time in the field and less time in the darkroom. Seriously - unless you have significant image problems you can see in your final output, the camera and imaging is good enough. Go take some great pictures, and worry a bit less about having digitally perfect pixels.
Is it just my observation, or are there way too many stupid people in the world?
Yes, your $1000 digital camera is not going to have a perfect CCD. There is no such thing as a perfect CCD. And I don't understand why you care unless you're trying to do science work with it. Look at it this way, no one is ever going to look at your picture and say its horrible because one pixel is slightly different than the one next to it. You look at the content of the whole photograph, not three pixels.
If you are trying to do science, then a DSLR is not what you need. DSLRs use Bayer interpolation to create a color image. This inherently kills your accuracy since not every pixel in the image is actually a pixel on the camera. CCDs used for astronomy (which cost more than your whole camera) do not do this and they still suffer from the effects you mentioned. Every exposure used for scientific work goes through a whole data reduction process that tries to remove as much noise as possible. Others have mentioned most of the process (bias frames, dark frames, and flat fields), but most astronomical CCDs also have an overscan region which is part of the CCD that is not exposed to light and is used to record the thermal noise on the CCD. This changes from exposure to exposure and from temperature to temperature (and yes I am a researcher in astronomy).
In short, there's no reason for you to care about this, and there's no chance of fixing this completely (CCDs are not digital - they're analog). There's also no way of applying the same solution to every photograph (and CCDs can change over time). Don't worry about pixel-to-pixel variations and just take photographs for their content. If you're really interested in how CCDs work, read the Handbook of CCD Astronomy by Steve Howell. Its a great introduction to CCDs and how to use them for astronomy.
Paint.NET is really great for those who need a quick and dirty image editor with a lot more power than MSPaint. However be careful - on most systems, it's a SERIOUS resource hog when dealing with large images (such as the 8 megapixel images from my camera). I find Paint.NET is great for anything that fits on my screen without scaling to less than about 50%, but go above that and my poor little work laptop (Dell Latitude D510 - 512MB RAM, 1.73GHz Pentium-M) will choke and die with lots of swap file use. Photoshop (CS) and the GIMP on the other hand hardly run like a dream, but they both deal with large images in a much nicer way.
I assume the problem is pretty much entirely RAM related and if you throw a decent amount of RAM at it, you'll be able to work with much larger images, but you'll quickly find you do have a very definite threshold and it'd be wise to avoid going above that.
My book about LSD and Self-Discovery
Also on facebook as: DroppingAcidDaleBewan
http://www.xnview.com/
Replying to TFA:
Digital perfection does not exist! You (the submitter) are taking images of the real world, where light moves around somewhat randomly in energy packets called photons, not in perfect rays. Noise can not be eliminated, ever. There's also some noise from the electronic components of the camera itself, which you also have to live with, unless you get a better quality camera. Or use some careful noise reduction. You do have the option of creating digital perfection, though. 3ds Max is popular, I gather.If color variance is the problem, however, that's due to the CCD design. The CCD in nearly every camera is a single chip for all three colors (4 in some rare cases), but a single photosite ("pixel") can only detect one color. This means the sites need to be mosaiced in a regular pattern, usually RGBG, which is then decoded into a raster image like JPEG. For your 7.1 Mpix camera, than means about 3.5 Mpix resolution for green golors, and 1.8 Mpix for red and blue each. This can cause colored blotches in supposedly even areas, but this kind of noise is fortunately really easy to remove with any decent noise-removal plugin. Perhaps it's possible to avoid this noise in the conversion from the raw data, though?
Most importantly, inspecting the noise of a camera by oogling at 200% isn't very useful, look at larger areas instead. Most noise disappears when put into its normal scale for viewing.
To answer the last question in TFS, yes, if there are bad pixels, it's not hard to find them and create a mask or an action (in PS) that eliminates them. You can also take a noise print for your camera at different ISOs/shutter speeds (at least in Neat Image), and store them for later use in other photos, so you don't need to analyze the noise over and over again. Again, if you want less noise to begin with, make sure you're using the lowest ISO setting that gives you a usable shutter speed, or get a camera with larger sensor area, that can capture more photons in the same amount of time. Also remember that some noise is good noise. A noiseless picture tends to look a bit unnatural, so don't try to remove all of it.
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.