In this article we will see how we can remove the region at given position in mahotas. Labelled images are integer images where the values correspond to different regions. I.e., region 1 is all of the pixels which have value 1, region two is the pixels with value 2, and so on. By convention, region 0 is the background and often handled differently. We can create a labelled region with the help of mahotas.label method.
In order to do this we will use mahotas.labelled.remove_regions method
Syntax : mahotas.labelled.remove_regions(labeled_img, i, j)
Argument : It takes labelled image and two integer representing the region
Return : It returns numpy.ndarray i.e image object
Example 1:
Python3
# importing required librariesimport mahotasimport numpy as npfrom pylab import imshow, showimport os# loading imageimg = mahotas.imread('dog_image.png') # setting filter to the imageimg = img[:, :, 0]# setting gaussian filterimg = mahotas.gaussian_filter(img, 15)# setting threshold valueimg = (img> img.mean())# creating a labelled imagelabeled1, n_nucleus1 = mahotas.label(img)# showing the labelled imageprint("Labelled Image")imshow(labelled1)show()# removing regionlabelled2 = mahotas.labelled.remove_regions(labelled1, 1, 1)# showing the labelled imageprint("Labelled Image with removed region")imshow(labelled2)show() |
Output :
Example 2:
Python3
# importing required librariesimport mahotasimport numpy as npfrom pylab import imshow, show # creating region# numpy.ndarrayregions = np.zeros((10, 10), bool) # setting 1 value to the regionregions[:3, :3] = 1regions[6:, 6:] = 1 # getting labelled functionlabelled, nr_objects = mahotas.label(regions) print("Labelled Image")# showing the image with interpolation = 'nearest'imshow(labelled, interpolation ='nearest')show() # removing regionlabelled2 = mahotas.labelled.remove_regions(labelled, 1, 1)# showing the labelled imageprint("Labelled Image with removed region")imshow(labelled2)show() |
Output :

