通过选择两个或多个图像中强度最低的像素来创建新图像

create new image by selecting pixels of the lowest intensity of two or more images

两张或多张图片大小相同,例如512X512像素 我想创建一个新图像,从这些图像中选择最低强度的像素,例如,新图像从图像 1 中获取像素 (1,1),从图像 2 中获取像素 (1,2),像素 (512,512)来自图像 3,因为这些像素的强度在所有打开的图像的比较中是最低的。有没有像下面这样的简单代码?非常感谢您的帮助!

我的尝试:

image img1, img2, img3, newimg
img1=getfrontimage()
hideimage(img1)
img2=getfrontimage()
hideimage(img2)
img3=getfrontimage()
showimage(img1)
showimage(img2)
newimag:=min(img1,img2,img3)
showimage(newimg)

你已经非常接近你的解决方案了。您要查找的命令称为 minimum。它给出了任意表达式列表中的(相应的)最小值。您还可以使用标量值作为参数:

image img1 := realImage("1",4,100,100)
image img2 := realImage("2",4,100,180)
image img3 := realImage("3",4,100,100)
img1 = icol
img2 = irow
img3 = iradius

image img4 := minimum(img1,img2,img3,30)
img4.ShowImage()

minimum() 命令是您的示例所需的全部内容,但请记住,您始终可以 "build up" 使用一系列 tert() 命令来满足任何需要。 F.e。以下将做完全相同的事情:

image img4 =  img1
img4 = img2 < img4 ? img2 : img4
img4 = img3 < img4 ? img3 : img4
img4 = 30 < img4 ? 30 : img4