Mahotas – 重新标记
在本文中,我们将了解如何在 mahotas 中重新标记已标记的图像。重新标记用于标记已标记的图像,这是必需的,因为有时用户删除了鬃毛标签,因此当该图像被重新标记时,我们也会得到新的标签编号。我们使用 mahotas.label 方法来标记图像
为此,我们将使用来自核分割基准的荧光显微镜图像。我们可以在下面给出的命令的帮助下获取图像
mhotas.demos.nuclear_image()
下面是nuclear_image
标记图像是整数图像,其中值对应于不同区域。即,区域 1 是所有值为 1 的像素,区域 2 是值为 2 的像素,依此类推
为此,我们将使用 mahotas.relabel 方法
Syntax : mahotas.relabel(labelled)
Argument : It takes labelled image object as argument
Return : It returns the labelled image and integer i.e number of labels
示例 1:
Python3
# importing required libraries
import mahotas
import numpy as np
from pylab import imshow, show
import os
# loading nuclear image
f = mahotas.demos.load('nuclear')
# setting filter to the image
f = f[:, :, 0]
# setting gaussian filter
f = mahotas.gaussian_filter(f, 4)
# setting threshold value
f = (f> f.mean())
# creating a labelled image
labelled, n_nucleus = mahotas.label(f)
# printing number of labels
print("Count : " + str(n_nucleus))
# showing the labelled image
print("Labelled Image")
imshow(labelled)
show()
# removing border labels
labelled = mh.labelled.remove_bordering(labelled)
# relabling the labelled image
relabelled, n_left = mahotas.labelled.relabel(labelled)
# showing number of labels
print("Count : " + str(n_left))
# showing the image
print("No border Label")
imshow(relabelled)
show()
Python3
# importing required libraries
import numpy as np
import mahotas
from pylab import imshow, show
# loading image
img = mahotas.imread('dog_image.png')
# filtering the image
img = img[:, :, 0]
# setting gaussian filter
gaussian = mahotas.gaussian_filter(img, 15)
# setting threshold value
gaussian = (gaussian > gaussian.mean())
# creating a labelled image
labelled, n_nucleus = mahotas.label(gaussian)
# printing number of labels
print("Count : " + str(n_nucleus))
print("Labelled Image")
# showing the gaussian filter
imshow(labelled)
show()
# removing border labels
labelled = mh.labelled.remove_bordering(labelled)
# relabling the labelled image
relabelled, n_left = mahotas.labelled.relabel(labelled)
# showing number of labels
print("Count : " + str(n_left))
# showing the image
print("No border Label")
imshow(relabelled)
show()
输出 :
示例 2:
Python3
# importing required libraries
import numpy as np
import mahotas
from pylab import imshow, show
# loading image
img = mahotas.imread('dog_image.png')
# filtering the image
img = img[:, :, 0]
# setting gaussian filter
gaussian = mahotas.gaussian_filter(img, 15)
# setting threshold value
gaussian = (gaussian > gaussian.mean())
# creating a labelled image
labelled, n_nucleus = mahotas.label(gaussian)
# printing number of labels
print("Count : " + str(n_nucleus))
print("Labelled Image")
# showing the gaussian filter
imshow(labelled)
show()
# removing border labels
labelled = mh.labelled.remove_bordering(labelled)
# relabling the labelled image
relabelled, n_left = mahotas.labelled.relabel(labelled)
# showing number of labels
print("Count : " + str(n_left))
# showing the image
print("No border Label")
imshow(relabelled)
show()
输出 :