R stackObjects如何对检测到的对象进行排序
我正在使用R统计软件和EBImage软件包进行显微镜图像处理分析。 我有一张经过处理的图像,可以在上面画出细胞识别号。此数字来自computefeatures数据帧的行号。 应用stackobjects功能后,我无法在原始图像中找到每个堆叠的单元格。我想知道stackobjects函数将每个图像排序到堆栈中的标准。 我做了一个简单的图像处理测试,但我不能理解这个标准R stackObjects如何对检测到的对象进行排序,r,image-processing,R,Image Processing,我正在使用R统计软件和EBImage软件包进行显微镜图像处理分析。 我有一张经过处理的图像,可以在上面画出细胞识别号。此数字来自computefeatures数据帧的行号。 应用stackobjects功能后,我无法在原始图像中找到每个堆叠的单元格。我想知道stackobjects函数将每个图像排序到堆栈中的标准。 我做了一个简单的图像处理测试,但我不能理解这个标准 library('EBImage') x = readImage('test.jpg') display(x) 如你所见。
library('EBImage')
x = readImage('test.jpg')
display(x)
如你所见。数字不进行排序或倒排排序
关于在一些测试之后,stackObjects函数按y坐标对分割的对象进行排序。 在这里,您可以看到一些示例来了解函数的行为 问候
如果检测到的对象是从右/上到左/下,我会期望类似于:“3、2、1、6、5、4、9、8、7、12、11、10”。但“8”是在9之前叠加的。“11”的位置是可以理解的,为什么会被放置为最后一个堆叠的图像呢?问题是在我的真实案例中,我使用了分水岭方法来执行分割步骤。分水岭函数通过其他一些我无法预测的方法指定识别值。请考虑“如何在图像中绘制特征”的答案。()
computeFeatures.moment
为您提供原始图像中每个对象的位置,您可以将其应用于对象堆栈。
x <- x < .5
display(x)
y = bwlabel(x)
display(colorLabels(y), title='Objects')
z = stackObjects(y, x)
display(z, title='Stacked objects', method = 'raster', all = TRUE)