- 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 - Haralick特征
- 标记区域的权重
- Mahotas - Zernike特征
- Mahotas - Zernike矩
- Mahotas - 排序滤波器
- Mahotas - 二维拉普拉斯滤波器
- Mahotas - 多数滤波器
- Mahotas - 均值滤波器
- Mahotas - 中值滤波器
- Mahotas - Otsu方法
- Mahotas - 高斯滤波
- Mahotas - Hit & Miss变换
- Mahotas - 标记最大值数组
- Mahotas - 图像均值
- Mahotas - SURF密集点
- Mahotas - SURF积分图像
- Mahotas - Haar变换
- 突出图像最大值
- 计算线性二值模式
- 获取标签边界
- 反转Haar变换
- Riddler-Calvard方法
- 标记区域大小
- Mahotas - 模板匹配
- 加速鲁棒特征
- 移除边界标记
- Mahotas - Daubechies小波
- Mahotas - Sobel边缘检测
Mahotas - 多边形工具
多边形工具是一组旨在处理多边形的工具。多边形是指由一系列连接的顶点定义的封闭形状。这些工具提供执行与多边形相关的各种任务的功能,例如操作、面积计算、点在多边形内测试等等。
在内部,Mahotas中的多边形工具利用计算几何中的算法和技术来实现其功能。这些底层算法确保多边形操作和分析的准确性和效率。
总的来说,Mahotas中的多边形工具作为处理图像处理任务中多边形的工具箱,提供必要的函数和算法来高效地操作、分析和执行这些形状的操作。
Mahotas中的多边形工具函数
以下是Mahotas中提供的不同多边形工具函数:
序号 | 函数及描述 |
---|---|
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 # Computing convex hull convex_hull = mh.polygon.convexhull(image) # Printing the value of the hull print(convex_hull) # Displaying the convex hull mtplt.imshow(convex_hull) mtplt.title('Convex Hull') # Showing the figures mtplt.show()
输出
以下是上述代码的输出:
[[2 5] [3 6] [4 9]]
获得的图像是:
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 # Filling convex hull fill_convexhull = mh.polygon.fill_convexhull(image) # Displaying the filled convex hull mtplt.imshow(fill_convexhull) mtplt.title('Filled Convex Hull') # Showing the figures mtplt.show()
输出
执行上述代码后,我们得到以下输出:
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 # Create a 100x100 image with all zeros canvas = np.zeros((100, 100), dtype=np.uint8) # Define the polygon as a list of (y, x) points polygon = [(0, 0), (50, 0), (50, 50), (0, 50)] # Fill the polygon in the canvas. mp.fill_polygon(polygon, canvas, color=255) # Display the image plt.imshow(canvas, cmap='gray') plt.show()
输出
我们得到以下输出图像:
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 # Create a 100x100 image with all zeros canvas = np.zeros((100, 100), dtype=np.uint8) # Draw a line in the canvas mp.line((0, 0), (99, 99), canvas, color=255) # Display the image mtplt.imshow(canvas) mtplt.show()
输出
以下是上述代码的输出: