Matlab函数bwmorph
生活随笔
收集整理的這篇文章主要介紹了
Matlab函数bwmorph
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
函數(shù)功能: 對二值圖像進行數(shù)學(xué)形態(tài)學(xué)(Mathematical Morphology)運算。 語法格式: BW2 = bwmorph(BW,operation) 對二值圖像進行指定的形態(tài)學(xué)處理。 BW2 = bwmorph(BW,operation,n) 對二值圖像進行n次指定的形態(tài)學(xué)處理。 n可以是Inf(無窮大), 這意味著將一直對該圖像做同樣的形態(tài)學(xué)處理直到圖像不再發(fā)生變化。 operation是一個字符串, 用于指定進行的形態(tài)學(xué)處理類型, operation可以為以下值: 'bothat':進行“bottom hat”形態(tài)學(xué)運算,即返回源圖像減去閉運算的圖像; 'branchpoints':找到骨架中的分支點; 'bridge':進行像素連接操作; 'clean':去除圖像中孤立的亮點,比如, 一個像素點, 像素值為1, 其周圍像素的像素值全為0, 則這個孤立的亮點將被去除; 'close':進行形態(tài)學(xué)閉運算(即先膨脹后腐蝕); 'diag': 采用對角線填充, 去除八鄰域的背景; 'dilate': 使用結(jié)構(gòu)元素ones(3)對圖像進行膨脹運算; 'endpoints':找到骨架中的結(jié)束點; 'erode':使用結(jié)構(gòu)元素ones(3)對圖像進行腐蝕運算; 'fill':填充孤立的黑點, 比如3*3的矩陣, 除了中間元素為0外, 其余元素全部為1, 則這個0將被填充為1; 'hbreak':斷開圖像中的H型連接; 'majority':如果一個像素的8鄰域中有等于或超過5個像素點的像素值為1, 則將該點像素值置1; 'open':進行形態(tài)學(xué)開運算(即先腐蝕后膨脹); 'remove':如果一個像素點的4鄰域都為1, 則該像素點將被置0;該選項將導(dǎo)致邊界像素上的1被保留下來; 'skel':在這里n = Inf,骨架提取但保持圖像中物體不發(fā)生斷裂;不改變圖像歐拉數(shù); 'spur':去除小的分支, 或引用電學(xué)術(shù)語“毛刺”; 'thicken':在這里n = Inf, 通過在邊界上添加像素達到加粗物體輪廓的目的; 'thin':在這里n = Inf,進行細化操作; 'tophat':進行“top hat”形態(tài)學(xué)運算, 返回源圖像減去開運算的圖像; 相關(guān)函數(shù): imopen、imclose、imdilate、imerode、bwperim 程序示例 % get skeleton of an object in a binary image close all; clear; clc; warning off all; imgdat = logical([1, 0, 0; 1, 0, 1; 0, 0, 1]); retdat = bwmorph(imgdat, 'bridge') % using 'brige' option imgdat = logical([0, 0, 0; 0, 1, 0; 0, 0, 0]); retdat = bwmorph(imgdat, 'clean') % using 'clean' option imgdat = logical([1, 1, 1; 1, 0, 1; 1, 1, 1]); retdat = bwmorph(imgdat, 'fill') % using 'fill' option 輸出結(jié)果: retdat = 1 1 0 1 1 1 0 1 1 retdat = 0 0 0 0 0 0 0 0 0 retdat = 1 1 1 1 1 1 1 1 1
總結(jié)
以上是生活随笔為你收集整理的Matlab函数bwmorph的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab 图像处理相关函数命令
- 下一篇: matlab 图像函数以及运用(第十章)