Mahotas – Removing Region at given position

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 :




