In this article we will see how we can implement otsu’s method in mahotas. In computer vision and image processing, Otsu’s method, named after Nobuyuki Otsu, is used to perform automatic image thresholding. In the simplest form, the algorithm returns a single intensity threshold that separates pixels into two classes, foreground and background.
In this tutorial we will use “luispedro” image, below is the command to load it.
mahotas.demos.load('luispedro')
Below is the luispedro image
In order to do this we will use mahotas.otsu method
Syntax : mahotas.otsu(image)
Argument : It takes image object as argument
Return : It returns integer
Note : Input image should be filtered or should be loaded as grey
In order to filter the image we will take the image object which is numpy.ndarray and filter it with the help of indexing, below is the command to do this
image = image[:, :, 0]
Example 1:
Python3
import mahotas
import mahotas.demos
import numpy as np
from pylab import imshow, gray, show
from os import path
photo = mahotas.demos.load( 'luispedro' )
print ( "Original Image" )
imshow(photo)
show()
photo = mahotas.demos.load( 'luispedro' , as_grey = True )
photo = photo.astype(np.uint8)
T_otsu = mahotas.otsu(photo)
print ( "Otsu Method value : " + str (T_otsu))
print ( "Image threshold using Otsu Method" )
imshow(photo > T_otsu)
show()
|
Output :
Example 2:
Python3
import mahotas
import numpy as np
from pylab import imshow, show
import os
img = mahotas.imread( 'dog_image.png' )
img = img[:, :, 0 ]
imshow(img)
show()
T_otsu = mahotas.otsu(img)
print ( "Otsu Method value : " + str (T_otsu))
print ( "Image threshold using Otsu Method" )
imshow(img > T_otsu)
show()
|
Output :
Last Updated :
29 Jul, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...