ImageJ旋转宏呼叫按每次呼叫减慢速度

时间:2013-04-30 08:08:00

标签: java image-processing macros imagej

我一直致力于一个项目,我试图通过ImageJ宏来旋转图像,基本上相关的部分看起来像:

IJ.run(sourceImage, "Arbitrarily...", "angle=" + angle + " grid=1 interpolate enlarge");

因此,当我制作时,让5个角度为20,30,40,50,60的调用运行上面的方法,执行它的时间越来越大(对于线程和单线程应用程序都是如此) ) 所以大约处理持续时间是:

===========================
290 - 1. execution
656 - 2. execution
649 - 3. execution
1353 - 4. execution
6931 - 5. execution
===========================

那么,当对特定宏进行连续调用时,为什么对ImageJ的宏调用会变慢?

1 个答案:

答案 0 :(得分:0)

我在这里看不到你在哪里使用ImageJ宏语言。您显示的代码是Javascript或Java,您正在调用的命令是运行Java插件,而不是宏。

每次IJ.run(sourceImage, "Arbitrarily...", ...)来电,您都放大您的sourceImage,因此每次调用后您都必须处理更多像素。

尝试从函数调用中省略enlarge参数,看看是否仍然存在减速。

如果您想在每次轮播时从原始图片开始,请在轮播前使用sourceImage复制imp = new Duplicator().run(imp);

顺便说一句,命令“Arbitrarily ...”仍然适用于compatibility reasons,但前一段时间已被“旋转......”取代< / em>,使用插件&gt;录制命令时,您也可以通过ImageJ菜单获得;宏&gt;录制...... 并切换到录制:Javascript Java