多边形实用程序¶
绘图¶
Mahotas不是一个生成图像的包,但有几个简单的函数可以在图像上绘制线条和多边形(目标图像称为 canvas 在本文档中)。
最简单的函数是 line
:给它两个点,它就会在它们之间划一条线。它的实现很简单,而且用的是Python语言,所以对于许多复杂的用法来说,它的速度会很慢。
这些实用程序的主要目的是帮助调试和可视化。如果您需要生成奇特的图表,请查找诸如 matplotlib 。
凸壳¶
凸壳函数是一种比较典型的图像处理特征。Mahotas有一个简单的方法,叫做 convexhull
。给定一个布尔图像(或任何将被解释为布尔图像的图像),它会找到其所有ON点的凸包。
它的实现是用C++实现的,所以速度很快。
伴随函数 fill_convexhull
以二进制图像的形式返回凸包。
API文档¶
- mahotas.polygon.convexhull(bwimg)
将凸包计算为多边形
这是 Graham 扫描的实现:https://en.wikipedia.org/wiki/Graham_scan
- 参数:
- bwimgNdarray
输入图像(解释为布尔值)。仅支持二维数组。
- 退货:
- hullNdarray
船体拐角的(y,x)坐标集
- mahotas.polygon.fill_convexhull(bwimg)
计算凸包并将其作为二进制掩码返回
- 参数:
- bwimage输入图像(解释为布尔值)
- 退货:
- hull :大小和数据类型与相同的图像 bwimg 把船体填满。大小和数据类型与相同的图像
- mahotas.polygon.fill_polygon([(y0, x0), (y1, x1), ..., ]canvas, color=1)
在画布中绘制填充的多边形
- 参数:
- polygon配对列表
(y,x)点的列表
- canvasNdarray
在哪里绘制,将在适当的地方修改
- color整型,可选
使用哪种颜色(默认:1)
- mahotas.polygon.line((y0, x0), (y1, x1), canvas, color=1)
划一条线
- 参数:
- p0一对整数
第一点
- p1一对整数
第二点
- canvasNdarray
在哪里绘制,将在适当的地方修改
- color整型,可选
要存储在像素上的值(默认值:1)
备注