1. A computer-readable medium comprising computer program instructions executable by a processor for: generating an edge map from the image data; analyzing the edge map to determine a set of boundaries of the one or more objects by: (a) determining a set of transitions between the set of boundaries and a background color; (b) identifying a set of characteristics from the set of transitions, the set of characteristics being used to indicate whether the image data comprises a single object or whether the image data comprises a plurality of objects; and (c) if the image data corresponds to a plurality of objects, assigning particular ones of the set of boundaries to particular ones of the plurality of objects based on a set of rules; and segmenting the one or more objects based on the set of boundaries.