如何执行批量处理以合并通道

时间:2020-08-05 18:07:58

标签: batch-file image-processing batch-processing imagej imagej-macro

我有两个单独的文件夹,它们具有相同数量的显微镜图像(每个文件夹中有134张图像)。这是特定细胞的两种不同染料。我想要做的是将一个文件夹中的每个图像与另一个文件夹中的相应图像合并,即文件夹a的第一图像与文件夹b的第一图像等等。 我一直在尝试执行此工作,但是由于每个图像都有不同的名称,因此无法通过批处理成功完成此工作。有人可以帮忙吗? 坦卡斯

我需要通过使用ImageJ->图像->颜色->合并通道,合并左侧两张图片中的通道,以获取右侧图像。 在设置中使用C1(红色)和C3(蓝色)。 [1]:https://i.stack.imgur.com/OUKkg.jpg

1 个答案:

答案 0 :(得分:1)

由于您没有反对我使用 ImageMagick 的建议,因此我将向您展示如何使用它。

由于您未提供任何图像,因此假设您有两个目录,分别名为AB,其中A中的PNG文件要用作红色通道,而{您要用作蓝色通道的PNG中的{1}}个文件。我假设您想要一个零/空白绿色通道。

B

现在,进入./A/image1.png ./A/image2.png ./B/image1.png ./B/image2.png ,一个文件的基本命令是:

A

这表示... “加载cd A magick image1.png ( +clone -fx 0 ) ../B/image1.png -combine result.png ,对其进行复制,并用零填充该副本,加载image1.png并合并它们,假设第一个为红色,第二个为绿色第三个是蓝色,并将其另存为../B/image1.png

希望您能使它正常工作。如果它能满足您的要求,我们可以使用批处理版本。我不使用Windows,所以我会在Linux上编写它:

result.png

我知道少量的Windows BATCH脚本非常危险,因此,我将尽力猜测它的外观。将其另存为#!/bin/bash for f in *png ; do echo "Combining $f (as Red), zero (as Green) and ../B/$f (as Blue) to make res-$f" magick $f \( +clone -fx 0 \) ../B/$f -combine res-$f done

GO.BAT

如果我将您的“图像” 加载到Photoshop中,并切出显着部分,并从第二张图像中剪裁出112像素,使其与第一张图像大小相同,然后颠倒顺序并合并他们使用建议的命令,我得到:

enter image description here