Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We're developing a site where individuals (store owners) will be able to take pictures and upload to the site. Our biggest concern is the variance in quality of pictures across the site.

The options we are considering are:

  1. Minimum image cleaning scripts (including filters, resizing, sharpening, etc.)
  2. Approval process for uploaded images
  3. Having a team take the photos for them

I'd like to see if anyone has had any experience with 1 and 2 above. How effective is 1, and how efficient is 2?

share|improve this question
    
offer incentives for better photos (better listing spots) –  ratchet freak Apr 26 '13 at 19:49
    
for #1 you might consider en.wikipedia.org/wiki/Bilateral_filter –  rwong Apr 27 '13 at 7:23
    
I like the idea of incentives. It clearly won't solve all bad photos, but to the extent that stores can self-police that would be great. –  rami Apr 30 '13 at 20:30
add comment

1 Answer 1

Depending on the scale of your operation (not specified) and the platform you're targeting (not specified) your range of options is very wide.

Assuming you're targeting a Unix/Linux platform, the default image processing library for #1 is ImageMagick - http://www.imagemagick.org/script/index.php It's been around for ever and is widely supported on a broad range of platforms (it's even available for WinTel if you're going the IIS route).

If you can define the requirements for what makes up "standard quality" well enough, you can cover a good deal of your use cases programmatically. There are bound to be some edge cases, so I'd recommend also implementing some version of #2 (workflow / approval system) in addition to the programmatic solution.

None of your options are going to solve all cases, and relying on only one option is likely to create bottlenecks in your process.

Your best bet is a combination of #1 & #2 if you want to keep complexity and costs down.

share|improve this answer
    
You may also find this post informative if you're not as familiar with the background concepts of image handling and manipulation - jessechapo.com/posts/Developers-Guide-to-Images.html –  Bryan Hoffpauir 'BJ Hoffpauir' Apr 30 '13 at 20:39
1  
I really like ImageMagick and that definitely falls into option 1 above. But there's only so much image processing can do if a photo was taken with a bad camera, poor lighting, etc. I think you're right about employing a combination of 1 and 2. Thanks for the link by the way. –  rami Apr 30 '13 at 22:08
    
You're correct of course, rami. But one of the things it might help you do is detect those problems programmatically and provide feedback to the right after upload. One other thought is to add a –  Bryan Hoffpauir 'BJ Hoffpauir' May 12 '13 at 3:31
    
A few examples of 'ideal' images via light box or something similar and if you detect images with issues and can determine the issue you can reject and / or provide feedback to the user. –  Bryan Hoffpauir 'BJ Hoffpauir' May 12 '13 at 3:34
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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