我试图提取尿液颜色条来分析他们需要段色的区域有一个强大的解决方案。
目前,我使用的是从上近似一个硬编码的距离。我已经在使用适应性阈值尝试和不能段颜色正确而不检测背景噪声,加入多种颜色或没有检测到某些颜色的。
我认为你是一个有点过分复杂化这样的:你的问题在本质上是一维的问题:你可以看看每个图像的行平均色彩,这应该给你一个干净和更强大的版本上下工夫:
img = imread('http://i.imgur.com/mhGA3hp.jpg'); img = im2double(img); avg = mean(img,2); imshow(bsxfun(@times, avg, ones(1,50,3)));
结果有:
我相信你会发现很容易与1D干净版本的图像的工作。