skimage函数记录之measure.label和measure.regionprops
這兩個函數可以用來處理圖(一般是二值圖)中出現的連通區域,我們來分別分析。
一.skimage.measure.label(input,?background?= None,?return_num?= False,?connectivity?= None)
功能:標記圖中的連通區域?
參數解釋:input:輸入二值圖
? ? ? ? ? ? ? ? ? background:指定北京元素像素值,默認為0
? ? ? ? ? ? ? ? ? return_num:bool變量,True:返回(label,num)False:只返回label
? ? ? ? ? ? ? ? ? connectivity:1:4鄰接,計算上下左右4個方向 2:8鄰接,計算周圍8個方向,None默認取最高
返回值:
labels?: 和input形狀一樣,但是數值是標記號,所以這是一個已經標記的圖片
num?: 標記的種類數,如果輸出0則只有背景,如果輸出n則有n個連通域
PS:什么叫做連通域,在二值圖像中,如果兩個像素點相鄰且值相同(同為0或1),稱這兩個像素點在一個相互連通的區域內,這種關系存在傳遞性,我們用相同的值來標記同一個連通區域的所有像素。常見的鄰接關系有2種:4鄰接與8鄰接。4鄰接一共4個點,上下左右,8鄰接的點包括周圍8個,下圖所示
例:
x=np.array([[1,0,0,0,0],[0,1,7,7,0],[0,0,1,1,9],[0,0,0,0,1]]) x '''Out[109]: array([[1, 0, 0, 0, 0],[0, 1, 7, 7, 0],[0, 0, 1, 1, 9],[0, 0, 0, 0, 1]])''' label(x,connectivity = 1, return_num=True) '''Out[110]: (array([[1, 0, 0, 0, 0],[0, 2, 3, 3, 0],[0, 0, 4, 4, 5],[0, 0, 0, 0, 6]]), 6)''' label(x,connectivity = 2, return_num=True) '''Out[111]: (array([[1, 0, 0, 0, 0],[0, 1, 2, 2, 0],[0, 0, 1, 1, 2],[0, 0, 0, 0, 1]]), 2)'''二.skimage.measure.regionprops(label_image, intensity_image = None, cache = True)[source]
參數解釋:label_image:已經被標記好的輸入圖片
? ? ? ? ? ? ? ? ??intensity_image:強度圖,每個通道的像素值
? ? ? ? ? ? ? ? ? cache:是否開啟緩存,開啟能加快計算速度
返回值:area? ? (int)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?區域內像素點總數
? ? ? ? ? ? ? bbox? ? (tuple)? ? ? ? ? ? ? ? ? ? ? ? 邊界外接框(min_row, min_col, max_row, max_col)
? ? ? ? ? ? ? centroid? ? (array)? ? ? ? ? ? ? ? ? 質心坐標
? ? ? ? ? ? ? convex_area?(int)? ? ? ? ? ? ? ? ? ?凸包內像素點總數
??????????????convex_image? ? (ndarray)? ? ?和邊界外接框同大小的凸包
??????????????coords? ? (ndarray)? ? ? ? ? ? ? ? ?區域內像素點坐標
? ? ? ? ? ? ? Eccentricity? ? ?(float)? ? ? ? ? ? ? 離心率
??????????????equivalent_diameter(float)? ? ?和區域面積相同的圓的直徑
? ? ? ? ? ? ? euler_number? ? (int) ? ? ? ?區域歐拉數
??????????????extent? ? ?(float)? ? ? ? ? ? ? ? ? ? ? 區域面積和邊界外接框面積的比率
? ? ? ? ? ? ? filled_area? ? (int)? ? ? ? ? ? ? ? ? ? 區域和外接框之間填充的像素點總數?
??????????????perimeter? ? ?(float)? ? ? ? ? ? ? ? ? 區域周長
??????????????label? ? (int)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?區域標記
?PS:標注部分為常用部分,其中要注意返回的centroid,x,y坐標與圖像中的x軸,y軸有所差異。
總結
以上是生活随笔為你收集整理的skimage函数记录之measure.label和measure.regionprops的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录 之 不同的Normalizatio
- 下一篇: sift+图像匹配 算法