0

我有一个分离点的二进制图像。

运动的源二进制图像

是否有任何 ImageJ 插件可以构建所有点的凸包?

或者你能推荐另一个可以做到这一点的程序,而不是 ImageJ?

4

3 回答 3

1

使用 OpenCV,您可以使用 findContours() 和 convexHull()

你可以在这里看到一个完整的例子:https ://docs.opencv.org/2.4/doc/tutorials/imgproc/shapeescriptors/hull/hull.html

OpenCV 是一个库,这意味着您必须自己编写程序。它具有 Java、python 和许多其他语言的绑定。您可以轻松找到其他语言的相同示例:

Java Android Opencv 2.3 上的凸壳

于 2018-03-06T19:56:54.087 回答
1

如果您在 ImageJ 中有一个 8 位(二进制)图像,您可以从脚本编辑器运行以下 Groovy 脚本来获取凸包作为当前选择:

#@ ImagePlus imp

import ij.gui.PolygonRoi
import ij.gui.Roi
import ij.plugin.filter.ThresholdToSelection
import ij.process.ImageProcessor

imp.getProcessor().setThreshold(128,255,ImageProcessor.NO_LUT_UPDATE)
roi = ThresholdToSelection.run(imp)
proi = new PolygonRoi(roi.getContainedFloatPoints(), Roi.POLYGON)
chRoi = new PolygonRoi(proi.getConvexHull(), Roi.POLYGON)
imp.setRoi(chRoi)

请注意,一般情况下,此类问题可能会被认为是题外话,最好在ImageJ 论坛上提问,在那里您可以从图像处理专家那里获得建议。

于 2018-03-07T09:59:11.113 回答
0

Edit-Selection-make 选择,然后是 ConvexHull

于 2021-06-07T04:42:43.270 回答