One possibility is to filter the image with a Gaussian Blur filter to suppress high frequencies (e.g. small differences caused by image noise, edges or shadows. In the image you presented this was sufficiently possible by using a Gaussian Blur with a radius/sigma of 4.
Thereafter, the FindPeaks Tool from Norbert Vischer actually serves very well. You just need to draw a horizontal line and specify an appropriate tilerance in the options (I tested e.g. 15 which seemed to work fine). Activating dark background in the options will shift the peak finder to the bright areas if you rather want to indicate those ones. And at both ends of your image you have to take kare that you are not counting one too much if the line overshoots too much.
This is similar to your attempt a rather manual method. If you need to analyze many images one should think about a potential automation, which will (after some pre-processing) surely also be possible.
You could additionally do a (pseudo)-flat-field correction of the image to correct for the shading artifacts which you detect by looking at the line profile which shows a clear tendency to drop from left to right.
This would look like the following image (left before, right after the correction):
One possibility to achieve this is the pseudo-flat-field correction from the BioVoxel toolbox
Hope this helps you further.