1. A computer-executable method, comprising: selecting by a computing device, a first visual object to be a model for synthesizing a part of an image via object-based inpainting; generating a second visual object from the first visual object; wherein generating the second visual object includes geometrically matching features of the second visual object to features of the first visual object, wherein geometrically matching features includes identifying and matching a main axis of symmetry in the first and second visual objects, wherein the main axis of symmetry is identified by: i) calculating a weight center of a visual object; ii) searching a plurality of lines that pass through the weight center that separate the visual object into two partitions; and iii) selecting a line of the plurality of lines as the main axis of symmetry based on a length of the line of the plurality of lines and a relative position of the line of the plurality of lines; and inpainting the second visual object into the part of the image.