First we are going to open a texture image, such as a rocky background, but you could use anything- a brick wall, a rough surface anything that you’d like. Then, go to Image>Adjustments> Desaturate. Then, do a save as to save the file as a new document and make sure that it is set as a .psd format. If you don’t set it to a .psd format, the filter we use won’t recognize it later.
Then, open the original jpeg image again, and open the image that you want to apply to the texture and drag it over to the texture document. Resize the image to match the size of your texture. Then with the graphic layer selected, go to Filter> Distort>Displace. Choose the default option, and a menu will pop up asking you to select a file. Choose the grayscale psd file that created earlier. It distorts the image to match the contours of the displacement map. Then, simply switch the blending mode of the layer to overlay. This should look good, but depending on your texture image, you might have to lower the opacity or try a similar blending mode, such as soft light.