Use an apex:commandButton with the image attribute set to the URL of the image that you want to display.
<apex:page controller = "CustomControllerClass" >
......
<apex:commandButton action="{!search}" image="images/searchGif.gif" id="theButton"/>
You may have to specify the full url to the image, depending on where you're holding the image.
You will then need to create a controller class (or extension, as the case may be), which your page is associated with and declare an action method (return type PageReference), which can then be bound to this button
public class CustomControllerClass{
public PageReference search(){
//execute logic here
}
}