Mahotas 教程

Mahotas - 主页 Mahotas - 简介 Mahotas - 计算机视觉 Mahotas - 历史 Mahotas - 功能 Mahotas - 安装

Mahotas 处理图像

Mahotas - 处理图像 Mahotas - 加载图像 Mahotas - 将图像加载为灰色 Mahotas - 显示图像 Mahotas - 显示图像形状 Mahotas - 保存图像 Mahotas - 图像的质心 Mahotas - 图像的卷积 Mahotas - 创建 RGB 图像 Mahotas - 图像的欧拉数 Mahotas - 图像中的零分数 Mahotas - 获取图像矩 Mahotas - 图像中的局部最大值 Mahotas - 图像椭圆轴 Mahotas - 图像拉伸 RGB

Mahotas 颜色空间转换

Mahotas - 颜色空间转换 Mahotas - RGB 到灰度转换 Mahotas - RGB 到 LAB 转换 Mahotas - RGB 转棕褐色 Mahotas - RGB 到 XYZ 转换 Mahotas - XYZ 到 LAB 转换 Mahotas - XYZ 到 RGB 转换 Mahotas - 增加伽马校正 Mahotas - 拉伸伽马校正

Mahotas 标记图像函数

Mahotas - 标记图像函数 Mahotas - 标记图像 Mahotas - 过滤区域 Mahotas - 边界像素

Mahotas - 形态学操作

Mahotas - 形态运算符 Mahotas - 查找图像平均值 Mahotas - 裁剪图像 Mahotas - 图像偏心率 Mahotas - 叠加图像 Mahotas - 图像圆度 Mahotas - 调整图像大小 Mahotas - 图像直方图 Mahotas - 扩大图像 Mahotas - 腐蚀图像 Mahotas - 分水岭 Mahotas - 图像的开运算过程 Mahotas - 图像的闭合过程 Mahotas - 填补图像中的空洞 Mahotas - 条件性膨胀图像 Mahotas - 条件腐蚀图像 Mahotas - 图像的条件分水岭 Mahotas - 图像中的局部最小值 Mahotas - 图像的区域最大值 Mahotas - 图像的区域最小值

Mahotas - 高级概念

Mahotas - 图像阈值 Mahotas - 设置阈值 Mahotas - 软阈值 Mahotas - Bernsen 局部阈值 Mahotas - 小波变换 Mahotas - 制作图像小波中心 Mahotas - 距离变换 Mahotas - 多边形实用程序 Mahotas - 局部二元模式 Mahotas - 阈值邻接统计 Mahotas - Haralic 特征 Mahotas - 标记区域的权重 Mahotas - Zernike 特征 Mahotas - Zernike 矩 Mahotas - 等级过滤器 Mahotas - 2D 拉普拉斯过滤器 Mahotas - 多数过滤器 Mahotas - 均值滤波器 Mahotas - 中值滤波器 Mahotas - Otsu 方法 Mahotas - 高斯滤波 Mahotas - 命中与未命中变换 Mahotas - 标记最大值数组 Mahotas - 图像平均值 Mahotas - SURF 密集点 Mahotas - SURF 积分 Mahotas - Haar 变换 Mahotas - 突出显示图像最大值 Mahotas - 计算线性二进制模式 Mahotas - 获取标签边框 Mahotas - 逆 Haar 变换 Mahotas - Riddler-Calvard 方法 Mahotas - 标记区域的大小 Mahotas - 模板匹配 Mahotas - 加速稳健特征 Mahotas - 移除带边框的标签 Mahotas - Daubechies 小波 Mahotas - Sobel 边缘检测



Mahotas - 多边形实用程序

多边形实用程序是一组用于处理多边形的工具。多边形是指由一系列相连的顶点定义的封闭形状。这些实用程序提供执行与多边形相关的各种任务的功能,例如操作、面积计算、点在多边形内的测试等。

在内部,Mahotas 中的多边形实用程序利用计算几何中的算法和技术来实现其功能。这些底层算法确保准确、高效的多边形操作和分析。

总体而言,Mahotas 中的多边形实用程序用作在图像处理任务中使用多边形的工具箱,提供基本功能和算法来有效地操作、分析和执行这些形状的操作。

Mahotas 中的多边形实用程序函数

以下是 mahotas − 中可用的不同多边形实用程序函数

S.No 功能 &描述
1

convexhull()

此函数创建包围一组点的最小形状 同时保持其凸性(凸包)。

2

fill_convexhull()

此函数填充由一组点生成的凸包的内部。

3

fill_polygon()

此函数填充由一组点。

4

line()

此函数在两个指定点之间绘制一条直线。

现在,让我们简要了解这四个函数并查看它们的示例。

convexhull() 函数

convexhull() 函数生成图像中一组点的凸包。凸包是包围给定点的最小多边形。该函数通过识别多边形的顶点并确保所有内角小于或等于 180 度来生成凸包。

语法

以下是 mahotas 中 convexhull() 函数的基本语法 −

mahotas.polygon.convexhull(bwimg)

其中,

  • bwimg −它是输入的二进制图像。

示例

在下面的示例中,我们使用 convexhull() 函数获取图像的外壳。

import mahotas as mh
import numpy as np
import matplotlib.pyplot as mtplt
image = np.zeros((10, 10), bool)
image[2, 5] = 1
image[3, 6] = 1
image[4, 9] = 1
# 计算凸外壳
convex_hull = mh.polygon.convexhull(image)
# 打印外壳的值
print(convex_hull)
# 显示凸外壳hull
mtplt.imshow(convex_hull)
mtplt.title('Convex Hull')
# 显示图形
mtplt.show()

输出

以下是上述代码的输出 −

[[2 5]
[3 6]
[4 9]]

得到的图像如下 −

Polygon Utilities

fill_convexhull() 函数

fill_convexhull() 函数使用图像中一组点生成的颜色填充凸包内部。该函数确保凸包内的所有像素都被分配了特定的颜色。

语法

以下是 mahotas − 中 fill_convexhull() 函数的基本语法

mahotas.polygon.fill_convexhull(bwimg)

其中,

  • bwimg − 它是输入的二进制图像。

示例

在这里,我们使用 fill_convexhull() 函数用颜色填充凸包。

import mahotas as mh
import numpy as np
import matplotlib.pyplot as mtplt
image = np.zeros((10, 10), bool)
image[2, 5] = 1
image[3, 6] = 1
image[4, 9] = 1
# 填充凸包
fill_convexhull = mh.polygon.fill_convexhull(image)
# 显示填充的凸包
mtplt.imshow(fill_convexhull)
mtplt.title('Filled Convex Hull')
# 显示图形
mtplt.show()

输出

执行上述代码后,我们得到以下输出 −

Polygon Utilities1

fill_polygon() 函数

类似地,fill_polygon() 函数用于使用图像中的特定颜色填充多边形的内部。它获取表示多边形形状的点,并在多边形边界内执行填充操作。

语法

以下是 mahotas − 中 fill_polygon() 函数的基本语法

mahotas.polygon.fill_polygon([(y0, x0), (y1, x1), ..., ], canvas, color=1)

其中,

  • [(y0, x0), (y1, x1), ..., ] − 这些是定义多边形形状的 (y, x) 坐标列表。

  • canvas −它是将要填充多边形的图像。

  • color(可选) − 它确定多边形内像素的颜色(默认值为 1)。

示例

在此示例中,我们使用 fill_polygon() 函数用颜色填充多边形。

import numpy as np
import matplotlib.pyplot as mtplt
import mahotas.polygon as mp
# 创建一个全为零的 100x100 图像
canvas = np.zeros((100, 100), dtype=np.uint8)
# 将多边形定义为 (y, x) 点列表
polygon = [(0, 0), (50, 0), (50, 50), (0, 50)]
# 在画布中填充多边形。
mp.fill_polygon(polygon, canvas, color=255)
# 显示图像
plt.imshow(canvas, cmap='gray')
plt.show()

输出

我们得到以下图像作为输出 −

Polygon Utilities2

line() 函数

line() 函数用于在图像中的两个指定点(起点和终点)之间绘制一条直线。这些点由其 x 和 y 坐标表示。x0 和 y0 是起点的坐标,x1 和 y1 是终点的坐标。

语法

以下是 mahotas − 中 line() 函数的基本语法

mahotas.polygon.line((y0, x0), (y1, x1), canvas, color=1)

其中,

  • (y0, x0) − 它是一个元组,指定线条的起始坐标。

  • (y1, x1) − 它是一个元组,指定线条的结束坐标。

  • canvas − 它是将在其中填充线条的图像。

  • color(可选) −它确定多边形内像素的颜色(默认值为 1)。

示例

在下面的示例中,我们使用 line() 函数绘制一条彩色线条。

import numpy as np
import matplotlib.pyplot as mtplt
import mahotas.polygon as mp
# 创建一个全为零的 100x100 图像
canvas = np.zeros((100, 100), dtype=np.uint8)
# 在画布上画一条线
mp.line((0, 0), (99, 99), canvas, color=255)
# 显示图像
mtplt.imshow(canvas)
mtplt.show()

输出

以下是上述代码的输出 −

Polygon Utilities3