
- 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.labeled_sum()`函式計算標記區域的權重。
Mahotas中的標記區域由標記影像表示,其中每個畫素都分配了一個唯一的標籤,對應於它所屬的區域。
為了更清晰地理解這一點,讓我們考慮一個灰度影像,其中每個畫素代表一個標量強度值。標記影像透過將此灰度影像分割成不同的區域併為每個區域分配一個唯一標籤而獲得。
`mahotas.labeled_sum()`函式
`mahotas.labeled_sum()`函式接受輸入陣列和標記陣列作為輸入。它根據標記陣列中對應的標籤,計算輸入陣列中每個標記區域的畫素值之和。
生成的陣列包含每個標記區域的畫素值之和,陣列的每個元素對應一個唯一的標籤。
語法
以下是Mahotas中`labeled_sum()`函式的基本語法:
mahotas.labeled_sum(array, labeled, minlength=None)
其中,
array − 表示影像或資料的NumPy陣列。
labeled − 與`array`形狀相同的標記陣列,其中每個區域都分配了一個唯一的整數標籤。
minlength (可選) − 指定結果陣列最小長度的整數。如果提供,則該函式會用零填充結果陣列以達到此長度。
示例
以下是確定影像標記區域權重的基本示例:
import mahotas as mh import numpy as np from pylab import imshow, show # Generate a grayscale image image = mh.imread('tree.tiff') # Generate a labeled array labeled = mh.imread('sea.bmp') # Calculate the sum of pixel values for each labeled region result = mh.labeled_sum(image, labeled) print(result)
輸出
執行上述程式碼後,我們得到以下輸出:
[ 30 115 58 157 226 154 169 24 63 48 124 123 159 146 44 163 202 174 208 30 39 109 100 221 245 101 16 162 42 0 214 71 46 31 110 197 91 137 118 192 104 119 139 23 198 176 219 192 60 1 218 143 67 122 249 14 165 70 159 16 18 204 135 185 74 175 110 39 8 98 208 238 86 169 42 21 39 129 100 146 162 48 217 228 204 30 54 164 174 80 144 172 232 115 48 165 136 234 37 147 195 242 2 227 75 6 95 100 92 230 200 96 93 59 30 28 60 122 213 65 133 53 58 91 191 36 174 106 95 25 201 70 73 234 59 76 2 207 238 66 87 140 174 222 122 239 37 79 220 57 126 38 150 236 60 37 196 58 236 241 148 207 253 56 103 79 72 71 47 242 169 8 88 19 176 16 195 88 134 188 205 78 248 96 156 86 35 57 69 241 142 203 198 182 165 31 127 36 227 47 195 47 117 217 134 45 50 95 76 47 34 182 21 140 138 192 17 232 158 182 162 136 104 145 229 165 33 107 14 117 185 115 73 129 217 105 244 0 63 124 0 0 109 56 0 107]
具有最小長度的標記區域的權重
要計算具有最小長度的標記區域的權重,我們需要將'minlength'引數傳遞給Mahotas中的`labeled_sum()`函式。
透過設定最小長度值,只有長度等於或大於指定最小長度的區域才會在權重計算過程中被考慮。
此功能允許我們過濾掉較小的區域,並關注較大且可能更重要的區域。
如果任何區域不滿足最小長度要求,則該區域的權重被賦值為'0'。
示例
在這裡,我們透過指定最小長度來計算標記區域的權重:
import mahotas as mh import numpy as np image = mh.imread('tree.tiff') # Perform labeling to obtain the labeled image labeled_img, n_labels = mh.label(image) # Calculate the weight of each labeled region with a minimum length of 2 weights = mh.labeled_sum(image, labeled_img, minlength=2) # Print the weights of each labeled region for label, weight in enumerate(weights, start=1): print(f"Weight of region {label}: {weight}")
輸出
上述程式碼的輸出如下:
Weight of region 1: 0 Weight of region 2: 40 Weight of region 3: 86 Weight of region 4: 37
具有自定義標籤的標記區域的權重
要計算具有自定義標籤的標記區域的權重,首先,生成一個自定義標記影像,其中每個區域都分配了一個特定的標籤。
標記影像將具有與原始影像相同的尺寸,每個畫素根據其所屬的區域分配相應的標籤值。然後,計算標記區域的權重。
示例
現在,我們嘗試計算具有自定義標籤的標記區域的權重:
import mahotas as mh import numpy as np # Generate a binary image binary_img = np.array([[0, 1, 0, 0],[1, 1, 1, 0],[0, 0, 0, 1]]) # Generate a custom labeled image with specific labels labeled_img = np.array([[0, 1, 0, 0],[2, 2, 2, 0],[0, 0, 0, 3]]) # Calculate the weight of each labeled region weights = mh.labeled_sum(binary_img, labeled_img) # Print the weights of each labeled region for label, weight in enumerate(weights, start=1): print(f"Weight of region {label}: {weight}")
輸出
以下是上述程式碼的輸出:
Weight of region 1: 0 Weight of region 2: 1 Weight of region 3: 3 Weight of region 4: 1