用法:
cucim.skimage.measure.regionprops(label_image, intensity_image=None, cache=True, coordinates=None, *, extra_properties=None)
測量標記圖像區域的屬性。
- label_image:(M, N[, P]) 數組
標記的輸入圖像。值為 0 的標簽將被忽略。
在 0.14.1 版中更改:之前,
label_image
被處理numpy.squeeze
因此允許任意數量的單件維度。這導致對具有單一尺寸的圖像的處理不一致。要恢複舊行為,請使用regionprops(np.squeeze(label_image), ...)
.- intensity_image:(M, N[, P][, C]) ndarray,可選
與標記圖像大小相同的強度(即輸入)圖像,以及可選的多通道數據的額外維度。默認為無。
在 0.18.0 版中更改:添加了為通道提供額外維度的函數。
- cache:布爾型,可選
確定是否緩存計算的屬性。緩存屬性的計算速度要快得多,而內存消耗會增加。
- coordinates:DEPRECATED
此參數已棄用,並將在 scikit-image 的未來版本中刪除。
有關詳細信息,請參閱Coordinate conventions。
自 0.16.0 版起已棄用:到處使用“rc” 坐標。調用可能就足夠了
numpy.transpose
在您的標簽圖像上獲得與 0.15 及更早版本相同的值。但是,對於某些屬性,轉換將不那麽簡單。例如,新的方向是 加上舊的方向。- extra_properties:可調用的迭代
添加不包含在 skimage 中的額外屬性計算函數。屬性的名稱是從函數名稱派生的,dtype 是通過在小樣本上調用函數來推斷的。如果額外屬性的名稱與現有屬性的名稱衝突,則額外屬性將不可見並發出 UserWarning。屬性計算函數必須將區域掩碼作為其第一個參數。如果屬性需要強度圖像,它必須接受強度圖像作為第二個參數。
- properties:RegionProperties列表
每個項目說明一個帶標簽的區域,並且可以使用下麵列出的屬性進行訪問。
參數:
返回:
注意:
以下屬性可以作為屬性或鍵訪問:
- 區域int
區域的像素數。
- 盒子元組
邊界框
(min_row, min_col, max_row, max_col)
。屬於邊界框的像素位於半開區間[min_row; max_row)
和[min_col; max_col)
中。- bbox_areaint
邊界框的像素數。
- 質心數組
質心坐標元組
(row, col)
。- convex_areaint
凸包圖像的像素數,它是包圍該區域的最小凸多邊形。
- convex_image(H, J) ndarray
與邊界框大小相同的二進製凸包圖像。
- 坐標(N, 2) 數組
該區域的坐標列表
(row, col)
。- 偏心浮點數
與區域具有相同second-moments 的橢圓的偏心率。偏心率是焦距(焦點之間的距離)與長軸長度之比。該值在區間 [0, 1) 中。為 0 時,橢圓變為圓形。
- equivalent_diameter浮點數
與區域麵積相同的圓的直徑。
- euler_numberint
非零像素集合的歐拉特性。計算為連接組件數減去孔數(input.ndim 連通性)。在 3D 中,連接組件的數量加上孔的數量減去隧道的數量。
- 程度浮點數
區域中的像素與總邊界框中的像素之比。計算為
area / (rows * cols)
- feret_diameter_max浮點數
最大 Feret 直徑計算為區域凸包輪廓周圍點之間的最長距離,由
find_contours
確定。 [5]- filled_areaint
該區域的像素數將所有的洞都填滿。說明filled_image的區域。
- filled_image(H, J) ndarray
具有與邊界框相同大小的填充孔的二進製區域圖像。
- 圖片(H, J) ndarray
與邊界框大小相同的切片二值區域圖像。
- inertia_tensorndarray
圍繞其質量旋轉的區域的慣性張量。
- inertia_tensor_eigvals元組
慣性張量的特征值按降序排列。
- intensity_imagendarray
區域邊界框內的圖像。
- 標簽int
帶標簽的輸入圖像中的標簽。
- local_centroid數組
質心坐標元組
(row, col)
,相對於區域邊界框。- major_axis_length浮點數
具有與區域相同的歸一化第二中心矩的橢圓長軸的長度。
- max_intensity浮點數
該地區強度最大的值。
- mean_intensity浮點數
該區域的平均強度值。
- min_intensity浮點數
該區域中強度最小的值。
- minor_axis_length浮點數
具有與區域相同的歸一化第二中心矩的橢圓短軸的長度。
- 時刻(3, 3) 數組
高達三階的空間矩:
m_ij = sum{ array(row, col) * row^i * col^j }
其中總和超過該區域的
row
、col
坐標。- moments_central(3, 3) 數組
最高 3 階的中心矩(平移不變):
mu_ij = sum{ array(row, col) * (row - row_c)^i * (col - col_c)^j }
其中總和超過區域的
row
、col
坐標,row_c
和col_c
是區域質心的坐標。- moments_hu元組
Hu 矩(平移、縮放和旋轉不變)。
- moments_normalized(3, 3) 數組
歸一化矩(平移和尺度不變)高達 3 階:
nu_ij = mu_ij / m_00^[(i+j)/2 + 1]
其中
m_00
是第零個空間矩。- 方向浮點數
第 0 軸(行)與具有與該區域相同的秒矩的橢圓長軸之間的角度,逆時針範圍從
-pi/2
到pi/2
。- 周長浮點數
使用 4 連接將輪廓近似為通過邊界像素中心的線的對象周長。
- perimeter_crofton浮點數
由 Crofton 公式在 4 個方向上近似的物體周長。
- 片切片元組
從源圖像中提取對象的切片。
- 堅固性浮點數
區域中的像素與凸包圖像的像素之比。
- weighted_centroid數組
用強度圖像加權的質心坐標元組
(row, col)
。- weighted_local_centroid數組
質心坐標元組
(row, col)
,相對於區域邊界框,用強度圖像加權。- weighted_moments(3, 3) 數組
高達 3 階的強度圖像的空間矩:
wm_ij = sum{ array(row, col) * row^i * col^j }
其中總和超過該區域的
row
、col
坐標。- weighted_moments_central(3, 3) 數組
高達 3 階的強度圖像的中心矩(平移不變):
wmu_ij = sum{ array(row, col) * (row - row_c)^i * (col - col_c)^j }
其中總和超過區域的
row
、col
坐標,row_c
和col_c
是區域加權質心的坐標。- weighted_moments_hu元組
強度圖像的 Hu 矩(平移、縮放和旋轉不變)。
- weighted_moments_normalized(3, 3) 數組
高達 3 階的強度圖像的歸一化矩(平移和尺度不變):
wnu_ij = wmu_ij / wm_00^[(i+j)/2 + 1]
其中
wm_00
是第零空間矩(intensity-weighted區域)。
每個區域還支持迭代,這樣你就可以做到:
for prop in region: print(prop, region[prop])
參考:
- 1
Wilhelm Burger, Mark Burge. Principles of Digital Image Processing: Core Algorithms. Springer-Verlag, London, 2009.
- 2
B. Jähne. Digital Image Processing. Springer-Verlag, Berlin-Heidelberg, 6. edition, 2005.
- 3
T. H. Reiss. Recognizing Planar Objects Using Invariant Image Features, from Lecture notes in computer science, p. 676. Springer, Berlin, 1993.
- 4
- 5
W. Pabst, E. Gregorová. Characterization of particles and particle systems, pp. 27-28. ICT Prague, 2007. https://old.vscht.cz/sil/keramika/Characterization_of_particles/CPPS%20_English%20version_.pdf
例子:
>>> from skimage import data, util >>> from cucim.skimage.measure import label, regionprops >>> img = cp.asarray(util.img_as_ubyte(data.coins()) > 110) >>> label_img = label(img, connectivity=img.ndim) >>> props = regionprops(label_img) >>> # centroid of first labeled object >>> props[0].centroid (22.72987986048314, 81.91228523446583) >>> # centroid of first labeled object >>> props[0]['centroid'] (22.72987986048314, 81.91228523446583)
通過將函數傳遞為
extra_properties
添加自定義測量>>> from skimage import data, util >>> from cucim.skimage.measure import label, regionprops >>> import numpy as np >>> img = cp.asarray(util.img_as_ubyte(data.coins()) > 110) >>> label_img = label(img, connectivity=img.ndim) >>> def pixelcount(regionmask): ... return np.sum(regionmask) >>> props = regionprops(label_img, extra_properties=(pixelcount,)) >>> props[0].pixelcount 7741 >>> props[1]['pixelcount'] 42
相關用法
- Python cucim.skimage.measure.regionprops_table用法及代碼示例
- Python cucim.skimage.measure.label用法及代碼示例
- Python cucim.skimage.measure.moments_coords用法及代碼示例
- Python cucim.skimage.measure.moments_normalized用法及代碼示例
- Python cucim.skimage.measure.moments_central用法及代碼示例
- Python cucim.skimage.measure.moments_coords_central用法及代碼示例
- Python cucim.skimage.measure.perimeter用法及代碼示例
- Python cucim.skimage.measure.moments用法及代碼示例
- Python cucim.skimage.measure.centroid用法及代碼示例
- Python cucim.skimage.measure.moments_hu用法及代碼示例
- Python cucim.skimage.measure.profile_line用法及代碼示例
- Python cucim.skimage.measure.block_reduce用法及代碼示例
- Python cucim.skimage.morphology.dilation用法及代碼示例
- Python cucim.skimage.morphology.closing用法及代碼示例
- Python cucim.skimage.morphology.erosion用法及代碼示例
- Python cucim.skimage.morphology.white_tophat用法及代碼示例
- Python cucim.skimage.morphology.remove_small_holes用法及代碼示例
- Python cucim.skimage.morphology.black_tophat用法及代碼示例
- Python cucim.skimage.morphology.reconstruction用法及代碼示例
- Python cucim.skimage.morphology.remove_small_objects用法及代碼示例
- Python cucim.skimage.morphology.opening用法及代碼示例
- Python cucim.skimage.morphology.thin用法及代碼示例
- Python cucim.skimage.feature.shape_index用法及代碼示例
- Python cucim.skimage.filters.threshold_triangle用法及代碼示例
- Python cucim.skimage.restoration.richardson_lucy用法及代碼示例
注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cucim.skimage.measure.regionprops。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。