Resynthesizer plugin for GIMP [1] by Dr. Paul Harrison lets you do those stuff and more (e.g. removing an object from a scene). Also look at Mathematica's digital inpainting function [2] which achieves the same thing.
[1]: http://www.logarithmic.net/pfh/resynthesizer
[2]: http://blog.wolfram.com/2014/12/01/extending-van-goghs-starr...