python图像分割代码_在python中如何将图像分割成n个不同的多边形

我是python新手,正在尝试使用python将一个图像分割成“n”个不同的多边形我的目标是将一个图像转换成n个随机多边形图像。我试过voronoi算法,但有点混乱。我非常感谢你的帮助。任何其他分割方法等。

我以前的代码:

import random

import matplotlib.pyplot as plt

import numpy as np

from scipy.spatial import Voronoi, voronoi_plot_2d

img = plt.imread("abc.jpg")

fig, ax = plt.subplots()

ax.imshow(img)

def points(radius,rangeX,rangeY,qty):

deltas = set()

for x in range(-radius, radius+1):

for y in range(-radius, radius+1):

if x*x + y*y <= radius*radius:

deltas.add((x,y))

randPoints = []

excluded = set()

i = 0

while i

x = random.randrange(*rangeX)

y = random.randrange(*rangeY)

if (x,y) in excluded: continue

randPoints.append((x,y))

i += 1

excluded.update((x+dx, y+dy) for (dx,dy) in deltas)

return randPoints

def plot1(randPoints,fig):

points = np.array(randPoints)

vor = Voronoi(points)

print vor.vertices

voronoi_plot_2d(vor,ax = fig.gca())

#plt.savefig('abc.png')

plt.show()

radius = 20

rangeX = (0, 960)

rangeY = (0, 480)

qty = 9

points = points(radius, rangeX, rangeY, qty)

plot1(points,fig)

我的输入:

我的输出:

这是n=9,我希望能得到任何帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值