在 python 中减去分割蒙版定义的图像背景
Subtracting image background defined by segmentation masks in python
我想从 python 中的医学图像中分割出肝脏。我的方法是将图像组织到文件夹中(每个患者 ID 一个文件夹)并将每个 2D 图像与其相应的蒙版组合起来。生成的图像应该写在同一个文件夹中。
我已经生成了面具。将两个图像相加并没有得到预期的结果,不过,它应该是某种 'inverse subtraction' 但我不知道如何实现它。
我也不知道如何自动执行该过程,这样我就不必总是指定文件夹 - 我希望程序能够自动在文件夹之间切换。
例如打字
image1 = imread("/Downloads/image1"); image1_mask = imread("/Downloads/image1_mask");结果 = 图像 1 + image1_mask
要求我为每个图像组合指定路径。是否有一个好的命名策略可以使这个过程更容易?我尝试用for循环来实现它,但它不起作用。
正如我所说,加法也没有产生预期的结果(图像减法也没有)
提前致谢!
玛丽亚
你实际上问了几个问题。
如果你只想显示这些像素,掩码对应的像素不为零,那么你需要乘法,而不是加法。例如
import numpy as np
image = np.random.randint(1,255,(5,5))
mask = np.zeros((5,5))
mask[1:,2:4]=10
newImage = image * (mask!=0)
print(image, mask, newImage,sep='\n')
自动传递目录是一个完全不同的问题,SO上有很多类似的问题。
我想从 python 中的医学图像中分割出肝脏。我的方法是将图像组织到文件夹中(每个患者 ID 一个文件夹)并将每个 2D 图像与其相应的蒙版组合起来。生成的图像应该写在同一个文件夹中。
我已经生成了面具。将两个图像相加并没有得到预期的结果,不过,它应该是某种 'inverse subtraction' 但我不知道如何实现它。
我也不知道如何自动执行该过程,这样我就不必总是指定文件夹 - 我希望程序能够自动在文件夹之间切换。
例如打字 image1 = imread("/Downloads/image1"); image1_mask = imread("/Downloads/image1_mask");结果 = 图像 1 + image1_mask
要求我为每个图像组合指定路径。是否有一个好的命名策略可以使这个过程更容易?我尝试用for循环来实现它,但它不起作用。
正如我所说,加法也没有产生预期的结果(图像减法也没有)
提前致谢! 玛丽亚
你实际上问了几个问题。
如果你只想显示这些像素,掩码对应的像素不为零,那么你需要乘法,而不是加法。例如
import numpy as np
image = np.random.randint(1,255,(5,5))
mask = np.zeros((5,5))
mask[1:,2:4]=10
newImage = image * (mask!=0)
print(image, mask, newImage,sep='\n')
自动传递目录是一个完全不同的问题,SO上有很多类似的问题。