If you open your picture in photoshop click on the ruler at the top and keeping your mouse button down drag a ruler over the horizon so that the middle of the line is on the middle of your horizon.(this is so you have a straight horizontal to work to, you can just drag it back up to the ruler bar to get rid of it)

then go to analysis on the menu bar and choose ruler tool. Click the left hand side of your horizon and then drag down to the right hand side (dont let go of mouse button until you are over the right hand side).
Now in the top of your window it should give you some information regarding the angle your out by. This case 2.1degrees.

Now goto image>rotate canvas>arbitrary and click that. Photoshop will have already filled in the angle for you but if it hasnt enter it yourself (2.1 degrees counter clockwise for this one).

gives you this

then just crop to remove the white or clone the gaps in if your feeling adventerous! (you'll lose a bit of your image which is why its worth getting it right in camera first).

HTH Steve