Category Archives: General Programming

Opticrop: Usage and Implementation

[NOTE Aug 5, 2014] I wrote this in 2010 and took it offline between 2012 and 2014, but it is now back up. Since then, similar ideas have cropped up elsewhere and are worth consulting. Promising options include entropy-based methods (reddit, google search) and a commercial service (cropp.me).

Opticrop is a PHP script I wrote to crop a thumbnail of a specific width and height from a full-sized image.

Unlike most cropping routines out there, Opticrop uses edge-detection to find the most "interesting" part of the image to crop, so you won't get a useless thumbnail just because the top-left corner of your image happened to be a big patch of featureless sky. This post is an overview of usage and implementation. For a more general discussion, see my post on the methods behind the script. Also check out the live demo of Opticrop, with a slick jQuery interface. (Sorry--this is down right now. Back up soon.) You can also get the Opticrop code on Github. Continue reading

Opticrop: Content-aware Cropping with PHP and ImageMagick

[NOTE Aug 5, 2014] I wrote this in 2010 and took it offline between 2012 and 2014, but it is now back up. Since then, similar ideas have cropped up elsewhere and are worth consulting. Promising options include entropy-based methods (reddit, google search) and a commercial service (cropp.me).

Opticrop is a PHP script I wrote to crop a thumbnail of a specific width and height from a full-sized image.

Unlike most cropping routines out there, Opticrop uses edge-detection to find the most "interesting" part of the image to crop, so you won't get a useless thumbnail just because the top-left corner of your image happened to be a big patch of featureless sky. This post is a big-picture discussion of my method. If you just want the script, see the post on Opticrop's usage and implementation. Continue reading