Java 我需要根据下图计算精子细胞的尺寸?怎样才能做到呢?

Java 我需要根据下图计算精子细胞的尺寸?怎样才能做到呢?,java,matlab,image-processing,Java,Matlab,Image Processing,这是源图像。 灰度化后,应用中值滤波降低噪声。 Sobel边缘检测图像。 灰度中值滤波图像的二值化。 要查找的尺寸包括头部长度、头部宽度、头部面积、头部周长、尾部长度和总面积 我走对了吗?现在该怎么办?我被卡住了。我不使用Matlab,但我会: 分割/标记图像(查找并枚举对象) 例如,通过洪水填充 删除太小/太大的对象 那就只剩下精子了 找到方向并测量 可以使用*进行填充,只需从属于对象的任何点开始填充即可。然后找到最远的点(最大填充值),你要么在尾巴的末端,要么在头顶。现在从这一点

这是源图像。

  • 灰度化后,应用中值滤波降低噪声。

  • Sobel边缘检测图像。

  • 灰度中值滤波图像的二值化。

  • 要查找的尺寸包括头部长度、头部宽度、头部面积、头部周长、尾部长度和总面积


    我走对了吗?现在该怎么办?我被卡住了。

    我不使用Matlab,但我会:

  • 分割/标记图像(查找并枚举对象)

    例如,通过洪水填充

  • 删除太小/太大的对象

    那就只剩下精子了

  • 找到方向并测量

    可以使用*进行填充,只需从属于对象的任何点开始填充即可。然后找到最远的点(最大填充值),你要么在尾巴的末端,要么在头顶。现在从这一点使用*获得对象的另一条边。最大填充值是整个精子的曲线长度(以像素为单位)

  • 确定头部的位置

    可以通过选择空空间附近的对象像素来隔离边缘像素(圆周)。现在按照相应的顺序将像素分为两组(左右两半)。现在你可以很容易地计算出精子任何部分的厚度,并检测头部(可变或更大的厚度)和尾部(恒定的小厚度)。由此看来,任何尺寸或面积的测量都是微不足道的


  • 您所说的尺寸是什么意思?头的长度,从头到尾的长度?或者你指的是“音量”?你需要实现这种可编程性吗?比例(在所有图像上)是否固定?图像右下角有一条线(下面是一条10微米的白线)。是的,马尔贾姆。说到尺寸,我指的是头部(宽度、长度、面积、周长)、尾部长度、总面积。。我需要开发一个系统,将一组这样的图像作为输入,并输出每个图像的所有参数(头部宽度、头部长度、头部面积、头部周长、尾部长度、总面积),单位为微米或像素。每个图像上的比例都是固定不变的。