Mahotas – 侵蚀形象
在本文中,我们将了解如何在 mahotas 中腐蚀图像。腐蚀(通常用 ? 表示)是形态图像处理中的两个基本运算之一(另一个是膨胀),所有其他形态运算都基于该运算。它最初是为二值图像定义的,后来扩展到灰度图像,随后扩展到完整的格子。
在本教程中,我们将使用“luispedro”图像,下面是加载它的命令。
mahotas.demos.load('luispedro')
下面是 luispedro 图像
为此,我们将使用 mahotas.morph.erodemethod
Syntax : mahotas.morph.erode(image)
Argument :It takes image object as argument
Return : It returns image object
注意:输入图像应被过滤或应加载为灰色
为了过滤图像,我们将获取图像对象 numpy.ndarray 并在索引的帮助下对其进行过滤,下面是执行此操作的命令
image = image[:, :, 0]
下面是实现
Python3
# importing required libraries
import mahotas
import mahotas.demos
from pylab import gray, imshow, show
import numpy as np
# loading image
luispedro = mahotas.demos.load('luispedro')
# filtering image
luispedro = luispedro.max(2)
# otsu method
T_otsu = mahotas.otsu(luispedro)
# image values should be greater than otsu value
img = luispedro > T_otsu
print("Image threshold using Otsu Method")
# showing image
imshow(img)
show()
# eroding image
new_img = mahotas.morph.erode(img)
# showing eroded image
print("Eroded Image")
imshow(new_img)
show()
Python3
# importing required libraries
import mahotas
import numpy as np
import matplotlib.pyplot as plt
import os
# loading image
img = mahotas.imread('dog_image.png')
# setting filter to the image
img = img[:, :, 0]
# otsu method
T_otsu = mahotas.otsu(img)
# image values should be greater than otsu value
img = img > T_otsu
print("Image threshold using Otsu Method")
# showing image
imshow(img)
show()
# eroding image
new_img = mahotas.morph.erode(img)
# showing eroded image
print("Eroded Image")
imshow(new_img)
show()
输出 :
Image threshold using Otsu Method
Eroded Image
另一个例子
Python3
# importing required libraries
import mahotas
import numpy as np
import matplotlib.pyplot as plt
import os
# loading image
img = mahotas.imread('dog_image.png')
# setting filter to the image
img = img[:, :, 0]
# otsu method
T_otsu = mahotas.otsu(img)
# image values should be greater than otsu value
img = img > T_otsu
print("Image threshold using Otsu Method")
# showing image
imshow(img)
show()
# eroding image
new_img = mahotas.morph.erode(img)
# showing eroded image
print("Eroded Image")
imshow(new_img)
show()
输出 :
Image threshold using Otsu Method
Eroded Image