多边形实用程序

绘图

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)

备注

Implementation Reference