首页 > 解决方案 > ImageJ 继续运行/某些线程未停止

问题描述

我尝试使用 ImageJ 库来处理图像。我的问题是,某些线程永远不会停止。Eclipse 总是向我显示一个正在运行的活动线程。如果我将一个 > 0 的值传递给下面的函数,就会发生这种情况。似乎 ImageJ 在需要处理某些内容时会在内部打开一个线程(例如,blurGaussian(0.1)。

我怎样才能停止这个线程?

我的代码:

public static BufferedImage preProcessBufferedImage(BufferedImage bufferedImage, double sigma) throws IOException {
    ImagePlus imagePlus = new ImagePlus("", bufferedImage);
    imagePlus.getProcessor().blurGaussian(sigma);
    return imagePlus.getBufferedImage();
}

使用的库: https ://mvnrepository.com/artifact/net.imagej/ij/1.53h

标签: javamultithreadingimagebufferedimageimagej

解决方案


我遇到了同样的问题,我发现的唯一解决方案是ij.Prefs.setThreads(1);在调用 blurGaussian 方法之前使用。


推荐阅读