
- 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 - Haralic 特徵
- 標記區域的權重
- Mahotas - 澤尼克特徵
- Mahotas - 澤尼克矩
- 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 - 澤尼克特徵
澤尼克特徵是一組描述影像中物體形狀的數學值。這些值反映了形狀的特定細節,例如其圓度、對稱性或某些圖案的存在。
澤尼克特徵具有一些使其對形狀分析有用的特殊屬性。例如,它們可以描述形狀與其大小無關,這意味著即使形狀旋轉或縮放,特徵也保持不變。
此屬性有助於在不同條件下識別物體。
澤尼克特徵透過使用稱為澤尼克多項式的數學函式將形狀分解成更小的片段來工作。這些多項式充當構建塊,透過組合它們,我們可以重建和表示物體的形狀。
Mahotas 中的澤尼克特徵
要計算 mahotas 中的澤尼克特徵,我們可以使用 **mahotas.features.zernike()** 函式。
在 Mahotas 中,澤尼克特徵透過執行以下步驟計算 -
**步驟 1** - 生成一組澤尼克多項式,這些多項式是表示各種形狀和輪廓的特殊數學函式。這些多項式充當分析物體形狀的構建塊。
**步驟 2** - 透過將物體的形狀投影到澤尼克多項式上計算澤尼克矩。這些矩捕獲重要的形狀特徵。
**步驟 3** - 從計算出的矩中提取澤尼克特徵,這些特徵表示基本的形狀資訊。
mahotas.features.zernike() 函式
mahotas.features.zernike() 函式接受三個引數:影像物件、澤尼克多項式的最大半徑以及要計算的特徵(度)數。該函式返回影像的澤尼克特徵的一維陣列。
澤尼克矩的度數是衡量矩複雜程度的指標。度數越高,矩越複雜。
語法
以下是 mahotas.features.zernike() 函式的基本語法 -
mahotas.features.zernike(im, degree, radius, cm={center_of_mass(im)})
其中,
**im** - 它是將對其計算澤尼克矩的輸入影像。
**degree** - 它指定要計算的澤尼克矩的最大數量。
**radius** - 它定義了圓形區域的半徑(以畫素為單位),澤尼克矩將在其上計算。此半徑定義的圓形區域(以質心為中心)之外的區域將被忽略。
**cm(可選)** - 它指定影像的質心。預設情況下,使用影像的質心。
示例
以下是計算影像形狀識別的澤尼克特徵的基本示例 -
import mahotas as mh # Load images of shapes image1 = mh.imread('sun.png', as_grey=True) # Compute Zernike features features = mh.features.zernike(image1, degree=8, radius=10) # Printing the features for shape recognition print(features)
輸出
執行上述程式碼後,我們得到如下輸出 -
[0.31830989 0.00534998 0.00281258 0.0057374 0.01057919 0.00429721 0.00178094 0.00918145 0.02209622 0.01597089 0.00729495 0.00831211 0.00364554 0.01171028 0.02789188 0.01186194 0.02081316 0.01146935 0.01319499 0.03367388 0.01580632 0.01314671 0.02947629 0.01304526 0.00600012]
使用自定義質心
影像的質心是影像中質量均勻分佈的點。自定義質心是影像中不一定為影像質心的點。
這在您希望對計算使用不同的質心時很有用。
例如,您可能希望使用影像中物體的自定義質心來計算物體的澤尼克矩。
要在 mahotas 中使用自定義質心計算影像的澤尼克矩,我們需要將 **cm** 引數傳遞給 mahotas.features.zernike() 函式。
cm 引數採用一個包含兩個數字的元組,表示自定義質心的座標。
示例
在這裡,我們嘗試使用自定義質心計算影像的澤尼克特徵 -
import mahotas import numpy as np # Load the image image = mahotas.imread('nature.jpeg', as_grey = True) # Calculate the center of mass of the image center_of_mass = np.array([100, 100]) # Calculate the Zernike features of the image, using the custom center of mass zernike_features = mahotas.features.zernike(image, degree= 5, radius = 5, cm=center_of_mass) # Print the Zernike features print(zernike_features)
輸出
以下是上述程式碼的輸出 -
[3.18309886e-01 3.55572603e-04 3.73132619e-02 5.98944983e-04 3.23622041e-04 1.72293481e-04 9.16757235e-02 3.35704966e-04 7.09426259e-02 1.17847972e-04 2.12625026e-04 3.06537827e-04]
計算多個影像的澤尼克特徵
我們還可以以不同的格式計算多個影像的澤尼克特徵。以下是實現此目的的方法 -
建立一個空列表。
使用 for 迴圈迭代影像列表。
計算每個影像的澤尼克特徵。
features.zernike() 函式返回一個澤尼克矩向量,然後將其追加到澤尼克特徵列表中。
示例
現在,我們嘗試一起計算不同格式的多個影像的澤尼克特徵 -
import mahotas import numpy as np # Load the images images = [mahotas.imread('sun.png', as_grey = True), mahotas.imread('nature.jpeg', as_grey = True), mahotas.imread('tree.tiff', as_grey = True)] # Calculate the Zernike features of the images zernike_features = [] for image in images: zernike_features.append(mahotas.features.zernike(image, degree=2, radius = 2)) # Print the Zernike features print(zernike_features)
輸出
上述程式碼的輸出如下 -
[array([0.31830989, 0.05692079, 0.10311168, 0.01087613]), array([0.31830989, 0.02542476, 0.11556386, 0.01648607]), array([0.31830989, 0.12487805, 0.07212079, 0.03351757])]