欢迎访问宙启技术站
智能推送

在python中使用skimage.data生成随机形状图像

发布时间:2023-12-19 05:11:20

在Python中,可以使用scikit-image库的skimage.data模块来生成随机形状的图像。该模块提供了一些函数来生成具有不同形状的图像,如圆形、椭圆形、多边形等。

下面是一个使用skimage.data生成随机形状图像的例子:

import numpy as np
import matplotlib.pyplot as plt
from skimage import data

# 生成一个具有圆形、椭圆形和多边形的随机形状图像
image = np.zeros((400, 400), dtype=np.uint8)
rr, cc = data.circle(200, 200, 50)  # 生成一个圆形
image[rr, cc] = 255

rr, cc = data.ellipse(200, 200, 100, 150, rotation=np.pi/4)  # 生成一个椭圆形
image[rr, cc] = 255

polygon = np.array([[100, 50], [200, 80], [300, 200], [150, 300]])  # 定义一个多边形的顶点
rr, cc = data.polygon(polygon[:, 0], polygon[:, 1], shape=(400, 400))  # 生成一个多边形
image[rr, cc] = 255

# 显示生成的图像
plt.imshow(image, cmap='gray')
plt.axis('off')
plt.show()

在上面的例子中,首先创建了一个400x400大小的全黑图像,并使用data.circle函数生成一个半径为50的圆形,并将圆形对应的像素值设置为255。然后使用data.ellipse函数生成一个长轴为100、短轴为150、倾斜角为π/4的椭圆形,并将椭圆形对应的像素值设置为255。最后定义了一个具有4个顶点的多边形并使用data.polygon函数生成该多边形的像素值。最终将所有形状对应的像素值设置为255。

最后,使用Matplotlib库的imshow函数显示生成的图像,并使用axis('off')函数关闭坐标轴显示。

以上就是使用skimage.data生成随机形状图像的例子。可以根据需要生成不同形状的图像,用于图像处理和计算机视觉任务中。