ImageJ计算固体面积

时间:2017-11-14 15:36:53

标签: imagej

我有一系列Ice的图像,我想分析它来确定固体与液体的面积。示例图片here。这类似于孔隙度测量但是我很难挣扎,因为颜色太过类似于仅仅做阈值。

目前我不得不玩对比度/查找边缘/去除斑点/制作二进制以使晶体更容易识别。

然后我将它们传递给形态分割: example然后是确定区域的门槛。

有没有更简单的方法来解决冰面积与空间/液体面积的关系而不必追踪每个水晶?

1 个答案:

答案 0 :(得分:0)

您的图像背景照明不均匀,因此进行背景减法是有意义的。而Find Edges是一个很好的预处理步骤,可以增强边缘,使形态分割(这里的合理工具)更容易。

这是一个示例宏,它可以自动执行其中的许多步骤:

// Perform a background subtraction.
orig = getImageID();
run("Duplicate...", " ");
dupl = getImageID();
run("Gaussian Blur...", "sigma=50");
imageCalculator("Subtract create 32-bit", orig, dupl);

// Enhance the edges.
run("Find Edges");

// Run Morphological Segmentation.
run("Morphological Segmentation");
wait(1000); // HACK
call("inra.ijpb.plugins.MorphologicalSegmentation.segment", "tolerance=20", "calculateDams=true", "connectivity=6");
call("inra.ijpb.plugins.MorphologicalSegmentation.setDisplayFormat", "Catchment basins");
call("inra.ijpb.plugins.MorphologicalSegmentation.createResultImage");

生成的图像具有不同的固体值的每个区域:

segmented ice

从那里你可以创建一个直方图( Analyze> Histogram )来获得每个强度值的计数 - 即每个对象的面积。出于某种奇怪的原因,在我首先复制结果图像( shift + d )之前,它对我不起作用。

histogram

您可以单击“复制”按钮将整个直方图放入剪贴板,然后将其粘贴到电子表格程序或文本文件中,以便在其他工具中进行分析。

肯定还有其他(可能更好)的方法来分析来自形态分割的Catchment盆地“标记”图像;考虑在ImageJ Forum上询问更多想法和建议。

您可以尝试的另一个更简单的选项是Trainable Weka Segmentation