Overlaying interesting patterns on images

Start by creating a new file with equal height and width.

Create a rectangle using rectangular shape tool. Enable "subtract from shape area" at the top bar. Create a circle using elliptical shape tool.
Similarly create more circular holes.

From edit menu select define pattern. We name the pattern as circle hole.
Open an image of your choice.
Create a rectangle of file size using rectangular shape tool. Double click the layer to open layer style window. Apply settings as shown.
Reduce the fill value to 0%.

 

From layer menu select rasterize>>shape. Click add vector mask button from the bottom of the layer palette. Apply a black to white gradient to create a smooth blend between image and pattern.
Press Ctrl+T. Right Click and select distort. Adjust the nodes to get the shape as shown.
Scale down the pattern layer vertically.