Я думаю, что вы немного усложняете это: ваша проблема по сути является одномерной: вы можете посмотреть на средний цвет на строку вашего изображения, и это должно дать вам чистую и более надежную версию для работы:
img = imread('http://i.imgur.com/mhGA3hp.jpg');
img = im2double(img);
avg = mean(img,2);
imshow(bsxfun(@times, avg, ones(1,50,3)));
Результаты с:
Я полагаю, вам будет проще работать с 1D чистой версией вашего изображения.