songzongsen 发表于 2022-1-1 16:34

求助,python 如何做到N个小图片随机分布在一个大图片上??

比如有15张20*20的小图片,如何让这些小图片随机分布放置到一个500*500的大图片上?要求是要随机角度和随机大小,随机旋转和随机大小我有思路,这随机分布放置应该怎么写?求解

sdieedu 发表于 2022-1-1 21:35

random函数法如何

miqilaosu 发表于 2022-1-1 23:54

这种一般都是把坐标随机到一个范围

不苦小和尚 发表于 2022-1-2 06:47

坐标保存为list,然后随机取图片,随机取list索引

songzongsen 发表于 2022-1-2 17:27

怎么能做到随机不重叠呢?

wshuo 发表于 2022-1-11 13:37

本帖最后由 wshuo 于 2022-1-11 13:39 编辑

songzongsen 发表于 2022-1-2 17:27
怎么能做到随机不重叠呢?
假设你大图片尺寸为`AXB`的大小,那么小图尺寸为`axb`, 那么横向最多摆放 `(A/a)+1` 个(/为整除,最后一个可能是半个,如果正好整除不用+1),纵向同理, 那么 小图片横向坐标位置只能是 `n*a` ,其中(0<=n<=(A/a)+1),纵坐标同理。那么就可以确定坐标位置,将这些横纵坐标分别放入两个列表,每一次随机从两个列表中取出一个横坐标和纵坐标,然后将其取出的坐标从原始的列表中删除(防止重复摆放),以便下一次取出就可以了。

songzongsen 发表于 2022-1-12 15:35

wshuo 发表于 2022-1-11 13:37
假设你大图片尺寸为`AXB`的大小,那么小图尺寸为`axb`, 那么横向最多摆放 `(A/a)+1` 个(/为整除,最 ...

您这个逻辑的话,得到的最终结果是排列的整整齐齐的吧?

ymhld 发表于 2022-1-13 09:01

排个序,再乱序就行了

songzongsen 发表于 2022-1-13 11:12

其实就是想做到图中的效果,比如排列整齐的是素材图,后面几张是想达到的效果,随机放大缩小,随机旋转,随机分布放置到一定的范围内,最后导出图片

wshuo 发表于 2022-1-13 13:26

songzongsen 发表于 2022-1-12 15:35
您这个逻辑的话,得到的最终结果是排列的整整齐齐的吧?

是的,我没注意他说随机旋转,如果旋转的话可以用小图片中的对角线长度 代替我上面说的 a , 这样就能保证不重叠了
页: [1]
查看完整版本: 求助,python 如何做到N个小图片随机分布在一个大图片上??