23

Suppose you want to store your photos at some lower resolution, let's say about ~1 MB large.

You own a camera able to make photos at 5 MPix and more.

And, you want to have the maximum quality at the smaller size.

Would it be better to make a photo at highest resolution and then resize it with PC software (with a good filter of course), or to directly set the camera to make photos at 2 MPix only?

26

Downscaling a larger image on computer is almost certainly going to produce a better result. This is because resizing an image is very processor intensive, and there is a difference in quality between the various resampling algorithms (e.g. Lanczos vs Bicubic). Getting a 5 MP camera to produce a 2 MP image is going to cause the camera to perform the resizing and this is bad for 2 reasons: a) You can't control what resampling algorithm is used and b) The camera is always going to have a weaker processor than your computer so will inevitably use a resampling algorithm that's optimized for speed not quality.

So if quality is important, do your resizing on the computer.

  • 2
    Image resizing may be processor intensive but it parallelizes well which means special purpose image processing pipelines like you get in digital cameras have the potential to be faster at such tasks than general purpose CPUs in desktop computers. – Matt Grum Apr 19 '11 at 11:06
  • 3
    In theory, that is certainly possible. In practice, the DSPs in cameras are limited by power constraints and thus aren't going to be operating at a high frequency. Additionally, given that today's general purpose CPUs contain multiple cores and with the rise of GPGPU processing this performance advantage that laptops/desktops have is not going away any time soon. – CadentOrange Apr 19 '11 at 11:18
  • 7
    Sure, but the in-camera processor doesn't have to beat the PC; it just has to be good enough for a reasonable algorithm. – mattdm Apr 19 '11 at 13:41
  • And any processor nowadays is more than enough for even Lanczos. – FarO Jan 21 '16 at 9:39
18

Philip has it spot on there, resampling on a computer will give you more control and access to better resampling algorithms.

There's another reason not to select a smaller size on camera and that is if you download your photos and find one that is really good you can keep it in high resolution. If you set your camera to 2 megapixels there's no going back!

Given the choice between a 5MP and 2MP camera, shooting the 5MP camera and resizing will also give you better image quality (all else being equal) as you'll have better colour resolution and less aliasing.

  • 9
    +1 for the "no going back". That's exactly the reason why I shoot in RAW, too, even if in processing I pretty much just go with the suggested values. (I will still have the raw file if I want to spend more time on it at a later time.) – a CVn Apr 19 '11 at 13:00
13

It probably doesn't matter very much.

The computer has an advantage because it can bring more processor power to bear. You can use more sophisticated algorithms, including tailoring the right one to each image. (And, as Matt Grum points out, you have the larger version available if you change your mind. This is probably the most compelling reason to go this route – it's hard to guess your future needs.)

The in-device conversion may have other advantages, though, depending on how it's implemented. First, it can do its downsizing on the raw sensor data rather than working on an already-converted JPEG. That avoids saving in JPEG more than once (which, given that you're discarding detail, isn't that important in this case), and allows the camera to do the downsizing as part of Bayer de-mozaicing. This might give a minor quality improvement. Second, the sensor may do a hardware-level pixel binning, which decreases read noise when shooting at a lower resolution.

But those advantages are highly implementation-dependent. I think the best thing to do is actually take some images and compare. If you can't tell the difference, go with whatever is easiest. (Or take the advice of storing the larger versions somewhere after all, just in case.)

  • 1
    +1 for avoiding speculation and offering a way to obtain an objective answer. – whuber Apr 19 '11 at 17:46
  • 1
    I tend to agree and I'm curious how the Canon sRaw works out since it's really about doing this sort of thing as far as I know. I may get a friend of mine to try it out for me. – John Cavan Apr 19 '11 at 18:28
  • Matt, what's hardware-level pixel binning? – Vaddadi Kartick Dec 13 '13 at 3:45
  • 1
    @KartickVaddadi It is combining the values of several adjacent photosites into a single pixel value before the data is moved off the sensor. For example, a 4x4 Bayer pattern is treated as a 2x2 pattern. The 4 photosites filtered with red are combined to created one red pixel, the four photosites filtered with blue are combined to create one blue pixel, and the 8 photosites with a green filter are combined to create the two green pixels. Of course this results in a loss of resolution and detail. By reducing each 16 pixels to 4 pixels a 20MP sensor would produce a 5MP image. – Michael C Feb 10 '14 at 16:29
8

I would add that taking high resolution pictures on the camera allows you to crop and resize the picture on your computer. For instance you could keep half of the area of your 5MP image and still save it in 2MP if you took a shot too wide.

  • +1 for the room to crop to 2MP instead of only resizing. – Michael C Feb 23 '13 at 1:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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