Mahotas - 创建 RGB 图像
RGB 图像是一种使用红、绿、蓝颜色模型来表示颜色的数字图像。RGB 图像中的每个像素由三个颜色通道(红色、绿色和蓝色)表示,它们存储每种颜色的强度值(范围从 0 到 255)。
例如,在所有三个通道(255、255、255)中具有全强度的像素表示白色,而在所有三个通道(0、0、0)中强度为零的像素表示黑色。
在 Mahotas 中创建 RGB 图像
Mahotas 中的 RGB 图像是形状为 (h,w,3) 的三维数组;其中 h 和 w 是图像的高度和宽度,3 代表三个通道:红色、绿色和蓝色。
要使用 Mahotas 创建 RGB 图像,您需要定义图像的尺寸,创建一个具有所需尺寸的空 numpy 数组,并设置每个通道的像素值。
Mahotas 没有用于创建 RGB 图像的直接函数。但是,您可以使用 numpy 和 mahotas 库来创建 RGB 图像。
示例
以下是在 mahotas 中创建水平方向从红色到绿色、垂直方向从蓝色到白色的渐变 RGB 图像的示例 −
import mahotas as mh import numpy as np from pylab import imshow, show # 定义图像的尺寸 width = 200 height = 150 # 创建一个具有所需尺寸的空 numpy 数组 image = np.zeros((height, width, 3), dtype=np.uint8) # 设置每个通道的像素值 # 在这里,我们将水平方向从红色到绿色、垂直方向从蓝色到白色创建一个渐变 white vertically for y in range(height): for x in range(width): # 红色通道渐变 r = int(255 * x / width) # 绿色通道渐变 g = int(255 * (width - x) / width) # 蓝色通道渐变 b = int(255 * y / height) # 设置像素值 image[y, x] = [r, g, b] # 保存图像 mh.imsave('rgb_image.png', image) # 显示图像 imshow(image) show()
输出
以下是上述代码的输出 −

根据颜色强度创建 RGB 图像
颜色强度是指表示图像中每个颜色通道的强度或大小的值。强度值越高,颜色越亮或饱和度越高,强度值越低,颜色越暗或饱和度越低。
要使用 Mahotas 根据颜色强度创建 RGB 图像,您需要创建单独的数组来表示红色、绿色和蓝色颜色通道的强度。这些数组应具有与所需输出图像相同的尺寸。
示例
在下面的示例中,我们将从随机生成的颜色强度中创建随机 RGB 噪声图像 −
import mahotas as mh import numpy as np from pylab import imshow, show # 为红色、绿色和蓝色颜色强度创建数组 red_intensity = np.random.randint(0, 256, size=(100, 100), dtype=np.uint8) green_intensity = np.random.randint(0, 256, size=(100, 100), dtype=np.uint8) blue_intensity = np.random.randint(0, 256, size=(100, 100), dtype=np.uint8) # 堆叠颜色强度以创建 RGB 图像 rgb_image = np.dstack((red_intensity, green_intensity, blue_intensity)) # 显示 RGB 图像 imshow(rgb_image) show()
输出
执行上述代码后,我们得到以下输出 −

从单一颜色创建 RGB 图像
要从单一颜色创建 RGB 图像,您可以用所需尺寸初始化一个数组,并为每个像素分配相同的 RGB 值。这样整个图像的颜色外观就会变得均匀。
示例
在这里,我们通过使用 RGB 值 (0, 0, 255) − 将颜色设置为蓝色来创建单色图像
import mahotas as mh import numpy as np from pylab import imshow, show # 定义图像的尺寸 width, height = 100, 100 # 创建单色图像(本例中为蓝色) blue_image = np.full((height, width, 3), (0, 0, 255), dtype=np.uint8) # 显示蓝色图像 imshow(blue_image) show()
输出
获得的图像如下−
