
- 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 - 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 - 尤拉數
想象一下,你有一幅畫,上面有不同的形狀。尤拉數允許我們計算這些形狀中有多少個孔,以及它們可以分成多少個獨立的部分(連通分量)。這有助於分析和表徵影像的結構。
數學上,它可以定義為:
E = C - H
其中,E 是尤拉數,C 是連通分量的數量,H 是影像中孔的數量。
Mahotas 中的影像尤拉數
在 Mahotas 中,可以使用 mahotas.euler() 函式計算尤拉數。此函式以二值影像作為輸入,其中感興趣的物件由白色畫素表示,背景由黑色畫素表示。然後,它根據影像中存在的物件的連通性和孔來計算尤拉數。
使用 mahotas.euler() 函式
mahotas.euler() 函式以二值影像作為輸入,並返回尤拉特徵值(整數)。
尤拉特徵是一種拓撲度量,用於描述影像中物件的連通性和形狀。它定義為影像中連通分量數量與孔的數量之差。
以下是 mahotas 中 euler() 函式的基本語法:
mahotas.euler(f, n=8)
其中,'f' 是一個二維二值影像,'n' 是連通分量(整數),值為 4 或 8(預設為 8)。
示例
在下面的示例中,我們透過將“nature.jpeg”載入為灰度影像,然後對其進行閾值處理以建立二值影像,來計算二值影像的尤拉數:
import mahotas as mh import numpy as np # Load binary image as a NumPy array binary_image = mh.imread('nature.jpeg', as_grey=True) > 0 # Compute Euler number euler_number = mh.euler(binary_image) # Print result print("Eu ler Number:", euler_number)
輸出
以下是上述程式碼的輸出:
Euler Number: -2.75
不同連通性的尤拉數
我們還可以使用 euler() 函式在 Mahotas 中計算不同連通性的尤拉數。連通性引數決定計算中考慮哪些相鄰畫素。
例如,使用連通性-4 只考慮直接的水平和垂直鄰居,而連通性-8 還包括對角鄰居。
示例
在這裡,我們正在計算“nature.jpeg”影像的不同連通性的尤拉數:
import mahotas as mh import numpy as np # Load the image as a grayscale image image = mh.imread('sun.png', as_grey=True) # Threshold the image to create a binary image thresholded_image = image > 0 # Compute the Euler number with 4-connectivity euler_number_4conn = mh.euler(thresholded_image, 4) # Compute the Euler number with 8-connectivity euler_number_8conn = mh.euler(thresholded_image, 8) # Print the results print("Euler Number (4-connectivity):", euler_number_4conn) print("Euler Number (8-connectivity):", euler_number_8conn)
輸出
上述程式碼的輸出如下:
Euler Number (4-connectivity): -4.75 Euler Number (8-connectivity): -4.75
使用標記影像計算尤拉數
標記影像將唯一的整數標籤分配給二值影像中的連通分量。
在 Mahotas 中,euler 函式將標記影像作為輸入,並返回整個影像的尤拉數。計算考慮了物件的數量、孔的數量以及物件之間的通道數量。
示例
在這裡,我們正在計算從“sea.bmp”影像派生的標記影像的尤拉數:
import mahotas as mh import numpy as np # Load the image as a grayscale image image = mh.imread('sea.bmp', as_grey=True) # Threshold the image to create a binary image thresholded_image = image > 0 # Label the connected components in the binary image labeled_image, num_labels = mh.label(thresholded_image) # Compute the Euler number of the labeled image euler_number = mh.euler(labeled_image) # Print the result print("Euler Number:", euler_number)
輸出
執行上述程式碼後,我們將得到以下輸出:
Euler Number: -44.75
使用二值影像計算尤拉數
在 Mahotas 中,可以使用 euler() 函式計算二值影像的尤拉數。透過載入二值影像並將其轉換為布林格式,euler 函式將影像作為輸入,並返回尤拉數(整數)。
示例
在下面給出的示例中,我們使用 Mahotas 計算從“nature.jpeg”影像建立的二值影像的尤拉數:
import mahotas as mh # load binary image and convert to boolean format image = mh.imread('sun.png', as_grey= True) image = image.astype(bool) # calculate the Euler number euler_number = mh.euler(image) # print the result print("Euler number of the binary image is:", euler_number)
輸出
獲得的結果如下:
Euler number of the binary image is: -4.75