如何在二维阵列中随机旋转正方形?

2021-12-08 06:15:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是检测一个矩形,不管它在图片中的什么位置。为此,我在图片中生成了随机像素和随机生成的正方形。它的形状和大小各不相同

唯一缺少的是矩形始终是一个直的角度我希望矩形随机旋转。

我现在拥有的:

Enter image description here

我想要什么:

Enter image description here

我的第一个(直线)绘图代码:

plt.figure(figsize=(4, 4))
s = 100                                             # Plot size (100, 100)
min = 10                                            # Minimum rectangle height
max = 20                                            # Maximum rectangle height

background = np.random.randint(0, 256, (s, s, 3))   # Random background pixels

a = np.random.randint(min, max)                     # Little side of rectangle
b = np.random.randint(a*1.5, a*2.5)                 # Big side of rectangle

xx, yy = np.where(np.ones((a, b)) == 1)             # Initial coordinates of the rectangle

cx = np.random.randint(0 + a, s - a)                # Random horizontal location
cy = np.random.randint(0 + a, s - b)                # Random vertical location

background[xx + cx, yy + cy] = np.random.randint(200, 255, background[xx + cx, yy + cy].shape)

plt.imshow(background)
plt.xlim(0, s)
plt.ylim(0, s)
plt.title('Random Square')
plt.show()