Mahotas - 以灰色加载图像
灰度图像是一种黑白图像或灰色单色,仅由灰色阴影组成。对比度范围从黑色到白色,分别是最弱强度到最强强度。
灰度图像仅包含亮度信息,不包含颜色信息。这就是白色为最大亮度(亮度)而黑色为零亮度,中间所有颜色都由灰色阴影组成的原因。
加载灰度图像
在 Mahotas 中,加载灰度图像涉及读取仅包含每个像素强度值的图像文件。生成的图像表示为 2D 数组,其中每个元素代表一个像素的强度。
以下是在 Mahotas − 中加载灰度图像的基本语法
mahotas.imread('image.file_format', as_grey=True)
其中,'image.file_format' 是要加载的图像的实际路径和格式,'as_grey=True' 作为参数传递,表示我们要将图像加载为灰度。
示例
以下是在 Mahotas − 中加载灰度图像的示例
import mahotas as ms import matplotlib.pyplot as mtplt # 加载灰度图像 grayscale_image = ms.imread('nature.jpeg', as_grey=True) # 显示灰度图像 mtplt.imshow(grayscale_image, cmap='gray') mtplt.axis('off') mtplt.show()
输出
执行上述代码后,我们得到如下所示的输出 −

将不同的图像格式加载为灰度图像
图像格式是指用于以数字方式存储和编码图像的不同文件格式。每种格式都有自己的规范、特性和压缩方法。
Mahotas 提供多种图像格式,包括 JPEG、PNG、BMP、TIFF 和 GIF 等常见格式。我们可以将任意这些格式的灰度图像的文件路径传递给 imread() 函数。
示例
在此示例中,我们通过使用 imread() 函数加载不同格式的灰度图像来展示 Mahotas 的多功能性。每个加载的图像都存储在单独的变量中 −
import mahotas as ms import matplotlib.pyplot as mtplt # 加载 JPEG 图像 image_jpeg = ms.imread('nature.jpeg', as_grey = True) # 加载 PNG 图像 image_png = ms.imread('sun.png',as_grey = True) # 加载 BMP 图像 image_bmp = ms.imread('sea.bmp',as_grey = True) # 加载 TIFF 图像 image_tiff = ms.imread('tree.tiff',as_grey = True) # 创建图形和子图 fig, axis = mtplt.subplots(2, 2) # 显示 JPEG 图像 axes[0, 0].imshow(image_jpeg) axes[0, 0].axis('off') axes[0, 0].set_title('JPEG Image') # 显示 PNG 图像 axes[0, 1].imshow(image_png) axes[0, 1].axis('off') axes[0, 1].set_title('PNG Image') # 显示 BMP 图像 axes[1, 0].imshow(image_bmp) axes[1, 0].axis('off') axes[1, 0].set_title('BMP Image') # 显示 TIFF 图像 axes[1, 1].imshow(image_tiff) axes[1, 1].axis('off') axes[1, 1].set_title('TIFF Image') # 调整间距和布局 mtplt.tight_layout() # 显示图形 mtplt.show()
输出
显示的图像如下 −

使用颜色模式"L"
"L"颜色模式表示亮度,它是颜色亮度的度量。它源自 RGB(红、绿、蓝)颜色模型,其中红、绿、蓝通道的强度值组合起来计算灰度强度。"L"模式丢弃颜色信息,仅使用灰度强度值表示图像。
要通过在 mahotas 中将颜色模式指定为"L"来将图像加载为灰色,我们需要将参数 as_grey='L' 传递给 imread() 函数。
示例
在这里,我们正在加载灰度图像并将颜色模式指定为"L" −
import mahotas as ms import matplotlib.pyplot as mtplt # 加载灰度图像 image = ms.imread('sun.png') grayscale_image = ms.imread('sun.png', as_grey = 'L') # 创建图形和子图 fig, axis = mtplt.subplots(1, 2) # 显示原始图像 axes[0].imshow(image) axes[0].axis('off') axes[0].set_title('Original Image') # 显示灰度图像 axes[1].imshow(grayscale_image, cmap='gray') axes[1].axis('off') axes[1].set_title('Grayscaled Image') # 调整间距和布局 mtplt.tight_layout() # 显示图形 mtplt.show()
输出
以下是以上代码 −
