This paper presents an efficient algorithm to compute independent contact regions on the surface of complex 3D objects such that a finger contact anywhere inside each of these regions assures a force-closure grasp despite the exact contact position. Independent contact regions provide robustness in front of finger positioning errors during an object grasping, and give relevant information for finger repositioning during the object manipulation. The object is described with a mesh of surface points, so the procedure is applicable to objects of any arbitrary shape. The proposed approach uses information from the wrench space, and generates the independent regions by growing them around the contact points of a given starting grasp. A two-phase approach is also provided to find a locally optimum force-closure grasp that serves as starting grasp, considering as grasp quality measure the largest perturbation wrench that the grasp can resist with independence of the perturbation direction. The approach has been implemented and several examples are provided to illustrate its performance.