
- 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 積分技術。