- 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 到 Sepia 转换
- 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 - 2D 拉普拉斯滤波器
- Mahotas - 多数滤波器
- Mahotas - 均值滤波器
- Mahotas - 中值滤波器
- Mahotas - Otsu 方法
- Mahotas - 高斯滤波
- Mahotas - 击中击不中变换
- Mahotas - 标记最大数组
- Mahotas - 图像均值
- Mahotas - SURF 密集点
- Mahotas - SURF 积分图像
- Mahotas - Haar 变换
- 突出图像最大值
- 计算线性二值模式
- 获取标签的边界
- 反转 Haar 变换
- Riddler-Calvard 方法
- 标记区域的大小
- Mahotas - 模板匹配
- 加速鲁棒特征
- 去除边界标记
- Mahotas - Daubechies 小波
- Mahotas - Sobel 边缘检测
Mahotas - 加速鲁棒特征
加速鲁棒特征 (SURF) 是一种用于检测图像中显著特征(关键点)的算法。SURF 通过分析图像在多个尺度上的强度变化来识别关键点。
它为这些点分配方向并生成描述符,这些描述符捕获了它们的独特特征。
描述符是在关键点周围局部区域内的模式中计算的。这些描述符随后可用于各种应用。
SURF 使用两种主要技术 - surf 密集和 surf 积分。这两种技术在接下来的章节中进行了详细讨论。
SURF Surf
SURF surf 是一种结合了图像关键点检测和描述的技术。它生成描述符以编码这些关键点的属性。该函数以图像作为输入,并返回一组 SURF 描述符。
语法
以下是 mahotas 中 surf.surf() 函数的基本语法 -
mahotas.features.surf.surf(f, nr_octaves=4, nr_scales=6, initial_step_size=1, threshold=0.1, max_points=1024, descriptor_only=False)
其中,
f - 输入图像。
nr_octaves(可选) - 定义 SURF 算法中使用的八度数。一个八度表示不同分辨率级别的图像(默认值为 4)。
nr_scales(可选) - 确定每个八度音阶的尺度数。这些尺度用于检测不同细节级别的特征(默认值为 6)。
initial_step_size(可选) - 确定连续尺度之间的初始步长。较小的步长允许检测详细的特征(默认值为 1)。
threshold(可选) - 用于过滤掉弱 SURF 特征的阈值(默认值为 0.1)。
max_points(可选) - 定义将返回的 SURF 点的最大数量(默认值为 1024)。
descriptor_only(可选) - 一个标志,用于确定是否仅返回描述符或描述符和关键点。设置为 True 时,将仅返回检测到的特征的描述符。
如果设置为 False,则将返回关键点和描述符(默认值为 False)。
我们可以在下面看到 surf 图像 -
SURF 密集
SURF 密集是 SURF 算法使用的一种技术。在 SURF 密集中,关键点在图像上密集采样。
换句话说,SURF 密集不是搜索特定的兴趣点,而是为图像中的像素网格计算描述符。这有助于捕获有关整个图像的信息。
在下图中,我们可以看到 SURF 密集图像 -
SURF 积分
SURF 积分技术通过利用积分图像来提高 SURF 算法的计算效率。积分图像预先计算图像特定区域直至像素强度的累积和。
这种预先计算消除了冗余计算,从而能够更快、更有效地进行特征检测和描述。
因此,SURF 算法非常适合实时应用和处理大规模数据集。
以下是 SURF 积分的图像 -
示例
在下面的示例中,我们对图像执行了不同的 SURF 函数,如上所述 -
import mahotas as mh from mahotas.features import surf import numpy as np import matplotlib.pyplot as mtplt image = mh.imread('tree.tiff', as_grey=True) # SURF dense surf_dense = surf.dense(image, 100) mtplt.imshow(surf_dense) mtplt.title('SURF Dense Image') mtplt.axis('off') mtplt.show() # SURF integral surf_integral = surf.integral(image) mtplt.imshow(surf_integral) mtplt.title('SURF Integral Image') mtplt.axis('off') mtplt.show() # SURF surf surf_surf = surf.surf(image) mtplt.imshow(surf_surf) mtplt.title('SURF Surf Image') mtplt.axis('off') mtplt.show()
输出
获得的输出如下所示 -
SURF 密集图像
SURF 积分图像
SURF Surf 图像
我们将在后面的章节中详细讨论 SURF 密集和 SURF 积分技术。