日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Matlab 图像】bwlabel() 连通域及图像分割

發布時間:2025/4/5 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Matlab 图像】bwlabel() 连通域及图像分割 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【Matlab 圖像】bwlabel 連通域及圖像分割

  • 1. 函數含義:
  • 2. 示例代碼:
    • 2.1 regionprops() 函數
      • 2.1.1 語法如下:
      • 2.1.2 說明如下:
    • 2.2 sort() 函數
      • 2.2.1 語法如下:
      • 2.2.2 說明如下:
    • 2.3 ismember
      • 2.3.1 語法如下:
      • 2.3.2 說明如下:
  • 3. 其他示例:
  • 4. 其他示例:

bwlabel() 函數

1. 函數含義:

MATLAB圖像處理工具箱中的函數bwlabel是把四連通或八連通的區域連接起來,調用語法為:

[L, NUM] = bwlabel(BW, N)

其中,

  • BW 為輸入二值化圖像;
  • N 可取值為4或8表示連接四連通或八連通區域;
  • NUM 為找到的連通區域數目;
  • L 為輸出圖像矩陣,其元素值為整數,背景被標記為0,第一個連通區域被標記為1,第二個連通區域被標記為2,依此類推.所以你不明白的1,2,3即為第1,2,3個連通區域的標記

From: matlab中bwlabel函數的含義

2. 示例代碼:

提取圖像中,排名前 3 的連通域,如果需要提取前 5 個連通域,更改兩處的 3 為 15 即可。

% 提取二值化圖前三個最大連通域 imLabel = bwlabel(HHCInv); % 對連通區域進行標記 stats = regionprops(imLabel,'Area'); [b,index]=sort([stats.Area],'descend'); if length(stats)<3bw=imLabel; elsebw=ismember(imLabel,index(1:3)); end

From: matlab二值圖保留最大的幾個連通域

2.1 regionprops() 函數

Regionprops()
用途是 get the properties of region,即用來度量圖像區域屬性的函數。

2.1.1 語法如下:

STATS = regionprops(L,properties)

2.1.2 說明如下:

測量標注矩陣 L 中每一個標注區域的一系列屬性,L 中不同的正整數元素對應不同的區域。

例如:L 中等于整數1的元素對應區域1;L 中等于整數2的元素對應區域2;以此類推。

  • 返回值 STATS 是一個長度為 max?(L(:))\max(L(:))max(L(:)) 的結構數組,結構數組的相應域定義了每一個區域相應屬性下的度量。
  • properties 可以是由逗號分割的字符串列表、飽含字符串的單元數組、單個字符串 ‘all’ 或者 ‘basic’。如果 properties 等于字符串 ‘all’,則所有下述字串列表中的度量數據都將被計算,如果 properties 沒有指定或者等于 ‘basic’,則屬性: ‘Area’, ‘Centroid’, 和 ‘BoundingBox’ 將被計算。

下面的列表就是所有有效的屬性字符串,它們大小寫敏感并且可以縮寫。

From: matlab的Regionprops詳解

2.2 sort() 函數

2.2.1 語法如下:

B = sort(A) B = sort(A,dim) B = sort(___,direction) B = sort(___,Name,Value) [B,I] = sort(___)

2.2.2 說明如下:

B = sort(A) 按升序對 A 的元素進行排序。

如果 A 是向量,則 sort(A) 對向量元素進行排序。

如果 A 是矩陣,則 sort(A) 會將 A 的列視為向量并對每列進行排序。

如果 A 是多維數組,則 sort(A) 會沿大小不等于 1 的第一個數組維度計算,并將這些元素視為向量。

B = sort(A,dim) 返回 A 沿維度 dim 的排序元素。例如,如果 A 是一個矩陣,則 sort(A,2) 對每行中的元素進行排序。

B = sort(___,direction) 使用上述任何語法返回按 direction 指定的順序顯示的 A 的有序元素。'ascend' 表示升序(默認值),'descend' 表示降序。

B = sort(___,Name,Value) 指定用于排序的其他參數。例如,sort(A,‘ComparisonMethod’,‘abs’) 按模對 A 的元素進行排序。

[B,I] = sort(___) 還會為上述任意語法返回一個索引向量的集合。I 的大小與 A 的大小相同,它描述了 A 的元素沿已排序的維度在 B 中的排列情況。例如,如果 A 是一個向量,則 B = A(I)。

示例:

From: 對數組元素排序-MATLAB sort-Math Works 中國

2.3 ismember

2.3.1 語法如下:

Lia = ismember(A,B) Lia = ismember(A,B,'rows') [Lia,Locb] = ismember(___) [Lia,Locb] = ismember(___,'legacy')

2.3.2 說明如下:

如果 A 中某位置的數據能在 B 中找到,Lia = ismember(A,B) 將返回一個在該位置包含邏輯值 1 (true) 的數組。數組中的其他位置將包含邏輯值 0 (false)。

如果 A 和 B 是表或時間表,ismember 將為每一行返回一個邏輯值。對于時間表,ismember 在確定相等性時會考慮行時間。輸出 Lia 是一個列向量。

From: 判斷數組元素是否為集數組成員-MATLAB ismember-Math Works 中國

3. 其他示例:

grayimg = rgb2gray(flag_yellow); % 灰度圖像 % grayimg 的色彩空間為 GrayBWimg = grayimg; [width,height]=size(grayimg);% 二值化 BWimg = im2bw(grayimg, 0.8);%先閉運算 再開運算 se=strel('disk',5); BWimg = imclose(BWimg,se); BWimg = imopen(BWimg,se);%分割出連通域內的圖像 showImg = frame; for i=1:widthfor j=1:heightif(BWimg(i,j) == 0)showImg(i,j,:)= frame(i,j,:);else showImg(i,j,:)= 0;endend end


From: 圖像分割+連通域統計與標注——MATLAB

4. 其他示例:

如果返回圖像中連通域大小大于閾值的連通域,可用matlab自帶函數:BW2 = bwareaopen(BW, P)


From: Matlab得到二值圖像中最大連通區域

總結

以上是生活随笔為你收集整理的【Matlab 图像】bwlabel() 连通域及图像分割的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。