Java 使用imageJ查找边数组

Java 使用imageJ查找边数组,java,imagej,edges,Java,Imagej,Edges,多亏了imageJ库,我已经找到了图像的边缘 现在,我想得到一个包含这些边的数组 这里有一个话题,但我无法评论,也没有答案: 如中所述,该命令使用。最终图像的每个点都是水平和垂直卷积的结果。所选函数的get*array()方法返回整个数组的副本;可以使用各种get*()方法访问数组的各个元素 附录:你说,“我的目标是获得边缘。我的问题是无法获得每个像素值。” 不是;这通常是一个多阶段的过程。震级数组仅仅是应用索贝尔算子的初始结果。下一步工作,例如阈值、链接、细化,取决于您的目标。是的,我知道这很

多亏了imageJ库,我已经找到了图像的边缘

现在,我想得到一个包含这些边的数组

这里有一个话题,但我无法评论,也没有答案:

如中所述,该命令使用。最终图像的每个点都是水平和垂直卷积的结果。所选函数的
get*array()
方法返回整个数组的副本;可以使用各种
get*()
方法访问数组的各个元素

附录:你说,“我的目标是获得边缘。我的问题是无法获得每个像素值。”


不是;这通常是一个多阶段的过程。震级数组仅仅是应用索贝尔算子的初始结果。下一步工作,例如阈值、链接、细化,取决于您的目标。

是的,我知道这很旧,但这需要一个答案。以编程方式使用imageJ

 float edgePixels[][];
 ImagePlus imp = null;
 Opener op = new Opener();
 imp =  op.openImage("lib/EP07-J.jpg");
 ImageProcessor improc = imp.getProcessor().duplicate();

 improc.medianFilter();
 improc.findEdges();
 edgePixels = improc.getFloatArray();

恭喜,您现在有了一个表示边缘检测后像素的多维数组。

没错,但我的目标是获取边缘。我的问题是没有得到每个像素值。Ismet Alkan用户似乎已经管理了这个操作,但我不知道如何联系他,也不能评论他的帖子;请编辑您的问题以澄清您期望的结果。我的目标是:找到connex组件。每个主要边缘都是一个可以被引用的connex组件。@Archos007:我不理解connex组件。请编辑您的问题以包含链接,并让其他人在中看到您的澄清。在我的第一篇文章中,有一个链接。我的目标是关于用户在上一篇文章中谈论的内容。其中一人说他设法找到了edge-found数组,但他没有解释如何找到。我不能发表评论,因为我刚刚加入了这个网站。你将如何处理这些边的数组?我的目标是列出这些(水平)边。例子:考虑一个我发现边缘的图像(用IJ在你的帖子中使用的方法)。如果一条线显示为一条边,我想列出它:它将是一条有起点和终点的线段。你明白我的意思吗?明白。使用ImageJ,您只能获得图像的边缘检测版本,而不是我所知道的边缘。首先,获取图像的边缘检测版本。非边缘像素将为黑色,边缘像素将不同。你需要自己找到这些的起点和终点。我知道,但你似乎是在你的帖子中找到的,不是精确的起点和终点,而是一系列的边。谢谢,我知道我问题的标题误导了你。我只找到了边缘检测到的图像。对不起。