在 ImageJ 中处理图像时如何获得实时输出?

How to get live output while processing images in ImageJ?

我在这里描述的所有内容都发生在 ImageJ 32 位版本(Java 1.6.0_20)中。我用来从相机获取捕获流的插件是 Civil Capture .

我成功地使用摄像头从实时视频捕获流中获取堆栈中的图像切片。后记我处理它们,假设我将一个图像的一条水平线的像素值输入一个数组,然后用 Plot 和 Plot Window.

中的方法绘制这条线

现在我的问题是: 当我 运行 我的插件时,它首先捕获图片,然后再进行处理。现在正在为图像堆栈打开一个 Window,一个为绘图打开。 对于下一个传入的图像,它也将被处理并且图正在更新。但只有在最后,当处理了我想要的尽可能多的图像时,图和图像才会真正显示出来。在处理过程中,Windows 都是白色的,没有显示任何内容。 是否可以让 ImageJ 在处理部分后显示绘图和图像?以及如何?

我找到了 Dynamik Profiler,但我没有让它按照我想要的方式工作。特别是因为您必须输入图像而不是数组。

这是我的第一个问题,所以如果我错过了给你信息,请不要对我太苛刻。

您应该可以使用 ImagePlus#updateAndDraw() 来更新图像显示。

对于Plot class,使用:

Plot#show()

第一次显示,并且:

Plot#updateImage()

更新情节window。

解决方法: 所以问题是整个程序发生在一个线程中。所以要修复它,绘图必须在单独的线程中完成。