当前位置:首页 » 编程语言 » python轮廓

python轮廓

发布时间: 2025-01-10 23:49:23

A. 如何用python取图片轮廓

1、查找轮廓(find_contours)

measure模块中的find_contours()函数,可用来检测二值图像的边缘慧游轮廓。

函数原型为:

skimage.measure.find_contours(array,level)

array: 一个二值数组图像

level: 在图像中查找轮廓的级别值

返回轮廓列表集合,可用for循环取出每一条轮廓。

例1:

importnumpyasnp
importmatplotlib.pyplotasplt
fromskimageimportmeasure,draw

#生成二值测试图像
img=np.zeros([100,100])
img[20:40,60:80]=1#矩形
rr,cc=draw.circle(60,60,10)#小圆
rr1,cc1=draw.circle(20,30,15)#大圆
img[rr,cc]=1
img[rr1,cc1]=1

#检测所有图形的轮廓
contours=measure.find_contours(img,0.5)

#绘制轮廓前陵销
fig,(ax0,ax1)=plt.subplots(1,2,figsize=(8,8))
ax0.imshow(img,plt.cm.gray)
ax1.imshow(img,plt.cm.gray)
forn,contour汪则inenumerate(contours):
ax1.plot(contour[:,1],contour[:,0],linewidth=2)
ax1.axis('image')
ax1.set_xticks([])
ax1.set_yticks([])
plt.show()

结果如下:不同的轮廓用不同的颜色显示

B. python 图像处理 怎样将轮廓内部填充

可以用反选,也可以把要填充的部分选中,选择油漆桶工具直接填充自己想要的颜色。

C. 【Python学习蝴蝶书】第八章 轮廓8-轮廓的匹配(等级匹配)

等级匹配通过逐步削减或填充轮廓边缘的尖角或凹陷,减少多边形顶点的数量,形成一个每步操作的三角形作为叶节点的二分树。最终顶点剩下4个,再被分解为两个三角形,作为根节点的子节点,形成二分树结构。

等级匹配过程可直观理解为轮廓顶点的递减过程,形成具有根节点和叶节点的二分树。每一步的三角形代表一个叶节点,最终轮廓顶点减少至四个,形成两个三角形作为根节点的两个子节点。

实现等级匹配的原理图通常显示了此过程,包括从原始轮廓到最终二分树的转换。然而,这个过程的鲁棒性可能不高,轮廓上微小的变化可能会导致树结构发生显着变化。

凸包和凸缺陷是轮廓分析中的两个关键概念。凸包是指轮廓顶点形成的外角均大于180度的多边形。凸缺陷则表示轮廓相对于凸包的偏差区域。

凸包的概念可以通过计算轮廓点集的凸包角点来实现,Python中提供cv2.convexHull函数完成此任务。该函数接收轮廓点集作为参数,并可选择输出凸包角点的坐标或索引,以及决定角点排列方向。

凸缺陷则通过cv2.convexityDefects函数计算,该函数需要轮廓点集、凸包点索引作为输入,输出每个缺陷的起始点、终止点、最远轮廓点索引和最远距离。

实际应用中,通过cv2.convexHull函数可以计算出轮廓的凸包,如图中蓝色多边形所示。接着,使用cv2.convexityDefects函数获取凸包与原始轮廓之间的凸缺陷信息。通过将起始点与终止点相连,可以得到凸包的轮廓线,同时,标记出凸缺陷中最远点与凸包边的距离。

热点内容
日服lol挂机脚本 发布:2025-01-11 02:51:49 浏览:917
反编译器英语 发布:2025-01-11 02:51:03 浏览:251
lD加密 发布:2025-01-11 02:50:20 浏览:643
求1到20的阶乘的和c语言 发布:2025-01-11 02:34:10 浏览:570
安卓用什么简谱软件 发布:2025-01-11 02:34:10 浏览:741
制作奇迹脚本 发布:2025-01-11 02:33:27 浏览:815
网易云音乐脚本 发布:2025-01-11 02:22:56 浏览:608
java软件开发培训怎么样 发布:2025-01-11 02:17:53 浏览:194
md5加密优点 发布:2025-01-11 02:12:52 浏览:436
读取文件夹所有文件名 发布:2025-01-11 02:12:50 浏览:682