You know you can’t add a webpart zone into Master page directly, but there is tricky you can do it.
<asp:ContentPlaceHolder id=”WeatherPart” runat=”server”></asp:ContentPlaceHolder>
In the pagelayouts, set a control with the same id-name and place your webpartzone inside. You have to do this for every pagelayout that needs a header image in the masterpage. For each page though, there has to be added a image webpart, or whatever webpart you like. So be aware of this, if you use a webpartzone in your masterpage.
<asp:Content ContentPlaceHolderId=”WeatherPart” runat=”server”>
<WebPartPages:WebPartZone runat=”server” Title=”WeatherPart” ID=”WeatherPart”><ZoneTemplate></ZoneTemplate>