请给一点提示好吗?

解决方案 »

  1.   

    要边缘检测,sobel的,只检测横向量的,计算之间的距离,应该可以吧,若要精读测量的话,用亚像素边缘检测,最小二乘,zernike算子,双线形差值等,
      

  2.   

    请看看相关图片。
    http://club.5ivb.net/dispbbs.asp?boardID=1&ID=39084
      

  3.   

    呵呵,我本科毕业设计做的数字图像处理,稍微有点了解!:)图像做差很复杂,背景和灯光的照射各种噪声都会影响图像每个点的像素。我自己写了一个小程序,可以获得每个点的像素,画出每种颜色分量的灰度直方图,包括一些简单的边缘检测算子的实现,还有canny算子的。你可以比较看一下各种边缘检测的结果。如果你需要,给我发邮件。因为是毕业设计,不一定很对,你可以简单参考一下。还有颜色分量,可惜只有rgb,没有黄色,不然一下子就能检测出来了!呵呵。也不知道你要选择什么分量,RGBHIS?至于说选取一种颜色,然后对应这种颜色进行检测,比如黄色,实现起来比较复杂,可能要用到颜色矢量?(曾经看过一篇这样的论文)要不就要进行换算?这个不懂。
      

  4.   

    昨天晚上大概看了一下这个图片的梯度图,然后早上起来在以上各位的启发下,想到了这样的方法,根据梯度图,是可行的,方法如下:
    1、任意取一个颜色,进行边缘检测,简单的sobel算子,非常方便,取y方向的模版就可以实现了。但是在实际梯度图像的处理结果中,发现你图片的整体梯度值不大,梯度值分布比较集中。
    2、梯度图中
      (1)如果阈值选择的比较大(动态选择,选择梯度值数目为所有像素梯度值数目的60%+以上的那个梯度值作为阈值),二值化后,液体高度的边缘看起来似乎非常直观,但是真正在图上寻找起来,只能统计梯度图中,每一个y值(每一行)对应的边缘的像素个数,取除了容器边缘的,边缘点最多的y值作为高度。容器的高度,对应着边缘像素中,最大y-最小y
      (2)我个人倾向于选择阈值比较小(选择梯度值数目为所有像素梯度数目的20%+以上的那个梯度值作为阈值),这样结果比较好。对二值化后的梯度图,再选择y值数目在边缘像素y值分布中的30%以上的那个y值作为溶液高度(包括容器边缘的影响)。容器高度计算同上。两种方法,都能实现,就怕我说的听不懂。