Macros 没有打开的图像-斐济/ImageJ宏语言

Macros 没有打开的图像-斐济/ImageJ宏语言,macros,imagej,Macros,Imagej,我在斐济编写了一个宏,对特定文件夹中的所有图像执行一组操作。但我遇到了麻烦,一个问题也解决不了。当我运行宏时,会收到一条错误消息,上面写着“没有打开的图像”。这是什么意思?(输入文件夹中的图像为.tif类型) 下面是宏: input=“C:”+File.separator+“冬季季度幻灯片”+File.separator+“CTIA”+File.separator+“项目”+File.separator+“原始图像数据”+File.separator+“输入图像”+File.separator;

我在斐济编写了一个宏,对特定文件夹中的所有图像执行一组操作。但我遇到了麻烦,一个问题也解决不了。当我运行宏时,会收到一条错误消息,上面写着“没有打开的图像”。这是什么意思?(输入文件夹中的图像为.tif类型)

下面是宏:

input=“C:”+File.separator+“冬季季度幻灯片”+File.separator+“CTIA”+File.separator+“项目”+File.separator+“原始图像数据”+File.separator+“输入图像”+File.separator;
output=“C:”+File.separator+“冬季季度幻灯片”+File.separator+“CTIA”+File.separator+“项目”+File.separator+“原始图像数据”+File.separator+“输出图像”+File.separator;
setBatchMode(真);
list=getFileList(输入);

对于(i=0;i我没有使用宏语言,但我在Java开发时看到了这个错误。一些插件要求显示图像

如果图像在
打开(输入+文件名);
后未显示,则需要运行show函数来显示图像

是吗

run("Close");
run("Watershed");
saveAs("Tiff", output+filename);

因此,您关闭该图像,然后尝试对该图像执行会产生该错误的操作。

另一个会导致此错误的原因是输入目录中的非图像文件。您循环遍历文件夹中的所有内容,并将其视为图像。例如,如果存在文本文件,则
打开(输入+文件名)的结果
将不会是打开的图像。

当几个窗口打开时,宏命令需要定义要处理的窗口


在我的micro中,我在命令之前使用了;selectWindow(“imagename”);这将有望解决问题。

Hi!实际上,关闭此处会关闭自动阈值对话框,而不是图像。图像在代码中的该点仍然打开,但错误仍然存在。最后关闭()?不是所有的图像都在该点关闭,所以没有什么要关闭的()?是的!它现在可以工作了。我删除了最终关闭。但似乎在某个地方仍然存在问题。我没有看到任何错误,但在输出目标中看不到输出文件。这是因为我删除了该关闭吗?我哪里出错了?好的,当我按批处理选项运行时,相同的宏会运行,出于某种原因,它正在保存相同的I在输出文件夹中输入图像!!(我在输入文件夹中有90个图像,在输出文件夹中没有图像,当宏运行时,我也看到在输出文件夹中输入的90个图像。)知道问题出在哪里吗?File.makeDirectory(输出)可能有必要。我的目录中只有图像文件,但谢谢你的指针。下次请记住!