首页 > 手相面相

旺運開運算和閉運算的作用圖像操作分水嶺(旺運開運算和閉運算的原理)

操作 手相面相 08-23

腐蝕、膨脹、旺運開運算、閉運算

TRT乾坎艮震好运网

先檢查一下,你是否具有以下特點:

(一)一發火就罵人、砸東西,甚至打人。

(二)情緒反應十分簡單,缺乏幽默感,不會開玩笑,對於滿意的事沉默不語,對不太算滿意的事常需要經過吵架、發脾氣等方式解決。

(三)面對生活之中的磨難,心理防禦的方式僅有一種,就是發泄。

(四)對很小的事也沉不住氣。

(五)火爆脾氣一點就著,什麼事都幹總結出來,那個時候不能自控,事後又特別後悔。

(六)聽不進每個人的勸說,特別在情緒激動的時刻。

這幾個是易怒者的典型特征。

憤怒是可以控制的,火爆脾氣也是能夠改變的,重點在於掌握方法。

(一)情境轉移法:當憤怒陡出時,人有五種處理怒氣的方式方法,一是把怒氣壓到心裡,生悶氣;二是把怒氣發到自己身上,進行自我懲罰;三是無意識地報復發泄;四是發脾氣,用很強烈的形式發泄怒氣;五是轉移註意和提防力以此抵消怒氣。其中,轉移是最積極的處理方法。火兒上來的時刻,對那些看不慣的人和事常常越看越氣,越看越火,此時不妨來個“三十六計走為上策”迅速離開使你發怒的場合,最好再能和談得來的friend一起聽聽音樂、散散步,你會漸漸地平靜下來。

(二)理智控制作方法:當你在動怒時,最好讓理智先行一步,你可以自我暗示,口中默念:“別生氣,這不值得發火”、“發火是愚蠢的,解決不瞭任何問題。”也可以自己在即將發火的一刻時自己下命令:不要發火!!!堅持一分鐘!!!一分鐘堅持住瞭,好樣的,再堅持三分鐘!!!二分鐘堅持住瞭,我開始能控制自己瞭,不妨再堅持一分鐘。三分鐘都堅持過去瞭,為啥不再堅持下去呢?因 此,要用你的理智戰勝情感感情。

(三)評價推遲法:怒氣來自對“刺激”的評價,大概是別人的一個眼神,大概是別人的一句譏諷,甚至或許是對別人的一個誤解。這事在那個時候你使“怒不可遏”,可是假如過1個鐘頭、一個星期甚至一個月之後再評論,你或許認為那個時候對之發怒“不值得。”

(四)目標升華法:怒氣是一種強大的心理能量,用之不當,傷人害己,使之升華,會變為成就事業的強大動力。要培養宏大的生活目標,改變以眼前小小小事計較得失的習性,更加的多地從大局、從長遠去考慮一切,一個人隻有確立瞭宏大的人生理想,才能待人以寬容,有較大度量,不會容忍本人的精力被微不足道的小事絆住,而妨礙對理想事業的追求。

下面是在網上找到的2份資料,希望對俺們皆有幫助,呵呵~

-----------------------------------------------

實際生活中,有的人比較容易發怒,周圍的人都隻是瞭解此人脾氣大,卻很少想到此人非常可能是患瞭一種疾病。中醫將容易發怒稱為“善怒”,是指無故性情急躁、易於發怒、不能自制的癥狀,又稱“喜怒”、“易怒”,應屬於疾病的范圍。

中醫理論認為:“肝為剛臟,喜條達而惡抑鬱,在志為怒。”寓意講的是,肝屬於剛強、躁急的臟器,喜歡舒暢柔和的情緒,而不喜歡抑鬱的情緒,其情緒表現主要為發怒。因 此,善怒主要與肝有關,主要為肝鬱氣滯、肝火上炎、脾虛肝乘等三種證候。

肝鬱氣滯所致的善怒,還同時表現為頻頻嘆氣、胸脅脹痛或串痛等癥狀。肝鬱氣滯證的病因多是鬱悶、精神受到刺激或因精神創傷史所致。肝鬱氣滯引起的善怒,first of all要通過精神養生的方式方法來調節神志和情志,並針對病因采取疏導的方式方法來進行治療。飲食上可多吃些具有疏肝理氣作用的糧食,如芹菜、茼蒿、西紅柿、蘿卜、橙子、柚子、柑橘、香櫞、佛手等。

肝火上炎證所致的善怒,還同時表現為睡眠多夢、目赤腫痛、口苦口渴等癥狀。肝火上炎證的病因多為肝氣久鬱,或吸煙飲酒過度,或因過食甘肥辛辣之物所致。肝火上炎所引起的善怒,除應戒煙限酒、忌食甘肥辛辣的食品外,要適量多吃清肝瀉熱的糧食,如苦瓜、苦菜、西紅柿、綠豆、綠豆芽、黃豆芽、芹菜、白菜、包心菜、金針菜、油菜、絲瓜、李子、青梅、山楂及柑橘等。

脾虛肝乘證所致的善怒,還同時表現為身倦乏力、食少腹脹、兩脅脹痛、大便稀溏等癥狀。脾虛肝乘證的病因多是因為脾氣虛弱,肝氣太盛,作用與影響脾的運行功能所致。脾虛肝乘引起的善怒要健脾理氣為主,飲食上應多吃一些有健脾益氣功效的糧食,如扁豆、高粱米、薏米、蕎麥、栗子、蓮子、芡實、山藥、大棗、胡蘿卜、包心菜、南瓜、柑橘、橙子等食物。

中醫上呢認為,過度的情緒反應會損傷人體的臟腑而引發各類疾病。中國傳統的精神養生法對克服不良情緒有非常好的效果,可通過自己一身的調節而平息怒氣,但當情緒特別激動時,亦應當通過異地發泄、理智消解、轉移註意和提防力等方法來消除怒氣,使心情得以平靜。

----------------------------------------------

●失眠、煩躁、健忘、焦慮不安的人應多吃富含鈣、磷的糧食。含鈣多的如大豆、牛奶、鮮橙、牡蠣;含磷多的如博彩、栗子、葡萄、雞、土豆、蛋類。

●脾氣暴躁、情緒反常、嫉妒心強、愛發火的人應多補充鈣(海產品如貝類、蝦類、海帶、蚧類,還有豆類及牛奶);補充維生素B(各式豆類、桂圓、幹核桃仁、蘑菇等)。

●愛嘮叨的人因大腦缺乏復合維生素B,應補充此類維生素。可多食動物瘦肉、粗面粉、麥芽糖、豆類等。也可把牛奶、蜂蜜調勻在酵母中,天天飲用,每一天三次。這是因酵母中含有小麥胚芽,富含維生素B。

●丟三落4。虎頭蛇尾、粗心大意大意的人應補充維生素C及維生素A,增添飲食中的果蔬數量,少吃肉類等酸性食物。富含維生素C及A的糧食有辣椒、魚幹、筍幹、煸炒胡蘿卜、牛奶、紅棗、田螺、卷心菜等。

●壓力過大當承受強大心理壓力時,身體會消耗平常8倍以上的維生素C。因 此,應盡可能多地攝取富含維生素C的糧食,如清炒菜花、甘藍菜、博彩色拉、芝麻、水果等。

●神經敏感的人適宜吃蒸魚。但要加點綠葉蔬菜,由於蔬菜有安定神經的效果。吃前可以先躺下休息,松弛緊張的情緒,也可以喝少許葡萄酒,幫助腸胃蠕動。TRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

圖像分割——分水嶺算法

TRT乾坎艮震好运网

姓名:謝意遠

學號:19021110366T

嵌牛引讀:圖像中的目標物體是連接在一起的,則分割起來很不容易,分水嶺分割算法經常用於處理這類問題,通常來講會取得相對較好的作用。

嵌牛鼻子:圖像分割、分水嶺算法

嵌牛提問:分水嶺算法具體有哪些步驟?

嵌牛正文:

1。綜述

分水嶺分割算法把圖像看成一幅“地形圖”,其中亮度比較強的區域像素值較大,而比較暗的區域像素值較小,通過尋找“匯水盆地”和“分水嶺界限”,對圖像進行分割。而直接應用分水嶺分割算法的作用常常並不好,假如在圖像中對前景對象和背景對象進行標註區別,再應用分水嶺算法會取得較好的分割效果。基於標記控制的分水嶺分割方法有以下基本步驟:

1  綜述

分水嶺分割算法把圖像看成一幅“地形圖”,其中亮度比較強的區域像素值較大,而比較暗的區域像素值較小,通過尋找“匯水盆地”和“分水嶺界限”,對圖像進行分割。直接應用分水嶺分割算法的作用常常並不好,假如在圖像中對前景對象和背景對象進行標註區別,再應用分水嶺算法會取得較好的分割效果。基於標記控制的分水嶺分割方法有以下基本步驟:

1、計算分割函數。圖像中較暗的區域是要分割的對象

2、計算前景標志。這幾個是每個對象內部連接的斑點像素。

3、計算背景標志。這幾個是不屬於任何對象的要素。

4、修改分割函數,使其僅在前景和後景標記位置有極小值。

5、對修改後的分割函數做分水嶺變換計算。

使用MATLAB圖像處理工具箱

註:期間用到瞭許多圖像處理工具箱的函數,例如fspecial、imfilter、watershed、label2rgb、imopen、imclose、imreconstruct、imcomplement、imregionalmax、bwareaopen、graythresh和imimposemin函數等。

2  步驟

 第1步:讀入彩色圖像,將其轉化成灰度圖像

clc; clear all; close all;

rgb = imread('pears。png');

if ndims(rgb) == 3

 I = rgb2gray(rgb);

else

 I = rgb;

end

figure('units', 'normalized', 'position', [0 0 1 1]);

第二步:將梯度幅值作為分割函數

使用Sobel邊緣算子對圖像進行水平和垂直方向的濾波,緊接著求取模值,sobel算子濾波後的圖像在邊界處會顯示還算大的值,在沒有邊界處的值會很小。

hy = fspecial('sobel');

hx = hy';

Iy = imfilter(double(I), hy, 'replicate');

Ix = imfilter(double(I), hx, 'replicate');

gradmag = sqrt(Ix。^2 + Iy。^2);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(I,[]), title('灰度圖像')

subplot(1, 2, 2); imshow(gradmag,[]), title('梯度幅值圖像')

可否直接對梯度幅值圖像使用分水嶺算法?

L = watershed(gradmag);

Lrgb = label2rgb(L);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(gradmag,[]), title('梯度幅值圖像')

subplot(1, 2, 2); imshow(Lrgb); title('梯度幅值做分水嶺變換')

直接使用梯度模值圖像進行分水嶺算法得到的結果常常會存在過度分割的現象。因此通常來講需要分別對前景對象和背景對象進行標記,以求得更佳的分割效果。

第三步:標記前景對象

有多個辦法可以應用在這兒來獲得前景標記,這幾個標記務必是前景對象內部的連接斑點像素。這個例子中,將使用形態學技術“基於開的重建”和“基於閉的重建”來清理圖像。這幾個操作將會在每個對象內部創建單位極大值,使得應該使用imregionalmax而定位。

旺運開運算和閉運算:先腐蝕後膨脹稱為開;先膨脹後腐蝕稱為閉。開和閉這兩種運算可以除去比結構元素小的特定圖像細節與關鍵,同時保證不產生全局幾何失真。旺運開運算可以把比結構元素小的突刺濾掉,切斷細長搭接而起到分離作用;閉運算可以把比結構元素小的缺口或孔填充上,搭接短的間隔而起到連接作用。

開操作是腐蝕後膨脹,基於開的重建(基於重建的開操作)是腐蝕後進行形態學重建。下面比較這兩種方式。first of all,用imopen做開操作。

se = strel('disk', 20);

Io = imopen(I, se);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(I, []); title('灰度圖像');

subplot(1, 2, 2); imshow(Io), title('圖像開操作')

接著下面,通過腐蝕後重建來做基於開的重建計算。

Ie = imerode(I,se)

Iobr = imreconstruct(Ie,I);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(I, []); title('灰度圖像');

subplot(1, 2, 2); imshow(Iobr, []), title('基於開的重建圖像')

開操作後,接著進行閉操作,可以移除較暗的斑點和枝幹標記。對比常規的形態學閉操作和基於閉的重建操作。first of all,使用imclose:

Ioc = imclose(Io, se);

Ic = inclose(I,se);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(I, []); title('灰度圖像');

subplot(2, 2, 2); imshow(Io, []); title('開操作圖像');

subplot(2, 2, 3); imshow(Ic, []); title('閉操作圖像');

subplot(2, 2, 4); imshow(Ioc, []), title('開閉操作');

此刻使用imdilate,緊接著使用imreconstruct。註意和提防必須對輸入圖像求補,對imreconstruct輸出圖像求補。IM2 = imcomplement(IM)計算圖像IM的補集。IM可以是二值圖像,或者RGB圖像。IM2與IM有著一樣的數據類型和大小。

Iobrd = imdilate(Iobr, se);

Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));

Iobrcbr = imcomplement(Iobrcbr);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(I, []); title('灰度圖像');

subplot(2, 2, 2); imshow(Ioc, []); title('開閉操作');

subplot(2, 2, 3); imshow(Iobr, []); title('基於開的重建圖像');

subplot(2, 2, 4); imshow(Iobrcbr, []), title('基於閉的重建圖像');

通過比較Iobrcbr和loc可以看見,在移除小污點同時不作用與影響對象全局形狀的應用下,基於重建的開閉操作要比標準的開閉重建愈發有效。計算Iobrcbr的局部極大來得到更佳的前景標記。

fgm = imregionalmax(Iobrcbr);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 3, 1); imshow(I, []); title('灰度圖像');

subplot(1, 3, 2); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(1, 3, 3); imshow(fgm, []); title('局部極大圖像');

為瞭幫助理解這個最終,疊加前景標記到原圖上。

It1 = rgb(:, :, 1);

It2 = rgb(:, :, 2);

It3 = rgb(:, :, 3);

It1(fgm) = 255; It2(fgm) = 0; It3(fgm) = 0;

I2 = cat(3, It1, It2, It3);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(rgb, []); title('原圖像');

subplot(2, 2, 2); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(2, 2, 3); imshow(fgm, []); title('局部極大圖像');

subplot(2, 2, 4); imshow(I2); title('局部極大疊加到原圖像');

註意和提防到大多閉塞處和陰影對象沒有被標記,這就象征著這幾個對象在結果中將不會獲得合理的分割。並且,一些對象的前景標記會一直到對象的邊緣。這就象征著應該清理標記斑點的邊緣,緊接著收縮它們。可Yi經過閉操作和腐蝕操作來完成。

se2 = strel(ones(5,5));

fgm2 = imclose(fgm, se2);

fgm3 = imerode(fgm2, se2);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(2, 2, 2); imshow(fgm, []); title('局部極大圖像');

subplot(2, 2, 3); imshow(fgm2, []); title('閉操作');

subplot(2, 2, 4); imshow(fgm3, []); title('腐蝕操作');

這個過程將會留下一些偏離的孤立像素,應該移除它們。應該使用bwareaopen,用以移除少於特定像素個數的斑點。BW2 = bwareaopen(BW,P)從二值圖像中移除所以少於P像素值的連通塊,得到另外的二值圖像BW二、

fgm4 = bwareaopen(fgm3, 20);

It1 = rgb(:, :, 1);

It2 = rgb(:, :, 2);

It3 = rgb(:, :, 3);

It1(fgm4) = 255; It2(fgm4) = 0; It3(fgm4) = 0;

I3 = cat(3, It1, It2, It3);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(I2, []); title('局部極大疊加到原圖像');

subplot(2, 2, 2); imshow(fgm3, []); title('閉腐蝕操作');

subplot(2, 2, 3); imshow(fgm4, []); title('去除小斑點操作');

subplot(2, 2, 4); imshow(I3, []); title('修改局部極大疊加到原圖像');

第四步:計算背景標記

此刻,需要標記背景。在清理後的圖像Iobrcbr中,暗像素屬於背景,因此可以從閾值操作開始。

bw =im2bw(Iobrcbr, graythresh(Iobrcbr));

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(1, 2, 2); imshow(bw, []); title('閾值分割');

背景像素在黑色區域,不過理想情形下,不必要求背景標記太接近於要分割的對象邊緣。通過計算“骨架作用與影響范圍”來“細化”背景,或者SKIZ,bw的前景。這個可Yi經過計算bw的距離變換的分水嶺變換來實現,緊接著尋找結果的分水嶺脊線(DL==0)。D = bwdist(BW)計算二值圖像BW的歐幾裡得矩陣。對BW的每一個像素,距離變換指定像素和近日的BW非零像素的距離。bwdist默認使用歐幾裡得距離公式。BW可以由任意維數,D與BW有同樣的大小。

D = bwdist(bw);

DL = watershed(D);

bgm = DL == 0;

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2, 2, 1); imshow(Iobrcbr, []); title('基於重建的開閉操作');

subplot(2, 2, 2); imshow(bw, []); title('閾值分割');

subplot(2, 2, 3); imshow(label2rgb(DL), []); title('分水嶺變換示意圖');

subplot(2, 2, 4); imshow(bgm, []); title('分水嶺變換脊線圖');

第五步:計算分割函數的分水嶺變換

函數imimposemin可以拿來修改圖像,使其隻是在特別規定的要求位置有局部極小。這裡應該使用imimposemin來修改梯度幅值圖像,使其隻在前景和後景標記像素有局部極小。

gradmag2 = imimposemin(gradmag, bgm | fgm4);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(2,2,1)imshow(bgm,[]);title('分水嶺變換脊線圖');

subplot(2, 2, 2); imshow(fgm4, []); title('前景標記');

subplot(2, 2, 3); imshow(gradmag, []); title('梯度幅值圖像');

subplot(2, 2, 4); imshow(gradmag2, []); title('修改梯度幅值圖像');

最後,能夠做基於分水嶺的圖像分割計算。

第六步:查看結果

一個可視化技術是疊加前景標記、背景標記、分割對象邊界到初始圖像。應該使用膨脹來實現某些要求,打比方說對象邊界,更加清晰可見。對象邊界定位於L==0的具體位置。

It1 = rgb(:, :, 1);

It2 = rgb(:, :, 2);

It3 = rgb(:, :, 3);

fgm5 = imdilate(L == 0, ones(3, 3)) | bgm | fgm4;

It1(fgm5) = 255; It2(fgm5) = 0; It3(fgm5) = 0;

I4 = cat(3, It1, It2, It3);

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(rgb, []); title('原圖像');

subplot(1, 2, 2); imshow(I4, []); title('標記和對象邊緣疊加到原圖像');

可視化說明瞭前景和後景標記怎樣作用與影響結果。在幾個位置,部分的較暗對象與它們相鄰的較亮的鄰接對象相融合,這是由於受遮擋的對象沒有前景標記。

另外一個有用的可視化技術是將標記矩陣作為彩色圖像進行顯示。標記矩陣,打比方說通過watershed和bwlabel得到的,應該使用label2rgb轉換到真彩圖像來顯示。

Lrgb = label2rgb(L,'jet', 'w', 'shuffle');

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(rgb, []); title('原圖像');

subplot(1, 2, 2); imshow(Lrgb); title('彩色分水嶺標記矩陣');

應該使用透明度來疊加這個偽彩色標記矩陣在原亮度圖像上進行顯示。

figure('units', 'normalized', 'position', [0 0 1 1]);

subplot(1, 2, 1); imshow(rgb, []); title('原圖像');

subplot(1, 2, 2); imshow(rgb, []); hold on;

himage = imshow(Lrgb);

set(himage, 'AlphaData', 0。3);

title('標記矩陣疊加到原圖像');TRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

形態學操作

TRT乾坎艮震好运网

形態學操作是依據圖像形狀進行的簡單操作。通常情況下對二值化圖像進行的操作。需要輸入兩個參數,一個是原始圖像,第2個被叫作結構化元素或核,它是用以決定操作的性質的。兩個根本的形態學操作是腐蝕和膨脹。他們的變體構成瞭旺運開運算,閉運算,梯度等。TRT乾坎艮震好运网

結構元素 TRT乾坎艮震好运网

圖像處理經常要用到形態學操作,其中first of all要獲取結構元素。包括結構元素的大小及形狀。TRT乾坎艮震好运网

我們使用 Numpy 構建瞭結構化元素,它是正方形的。但有時大傢需要構建一個橢圓形/圓形的核。為瞭實現這種要求,提供瞭 OpenCV函數 cv2、getStructuringElement()。你僅需要告知他你所需的核的形狀和大小。TRT乾坎艮震好运网

腐蝕 (erode) TRT乾坎艮震好运网

定義E為歐氏空間,在二值圖像A上使用B進行腐蝕運算的定義為:

其中 為B平移向量z得到。TRT乾坎艮震好运网

在深藍色正方形上使用圓盤進行腐蝕運算,結果為淺藍色正方形。TRT乾坎艮震好运网

腐蝕作用:可以拿來消除小且無意義的物體。TRT乾坎艮震好运网

參數意義如下:TRT乾坎艮震好运网

例子TRT乾坎艮震好运网

膨脹 (dilate) TRT乾坎艮震好运网

定義E為歐氏空間,在二值圖像A上使用B進行膨脹運算的定義為:

其中 為A平移向量b得到。TRT乾坎艮震好运网

在深藍色正方形上使用圓盤進行膨脹運算,結果為淺藍色正方形,帶有圓角。TRT乾坎艮震好运网

膨脹作用:可以拿來填補物體中的空洞。TRT乾坎艮震好运网

參數意義同腐蝕。TRT乾坎艮震好运网

例子TRT乾坎艮震好运网

旺運開運算

在數學形態學中,旺運開運算 被定義為先腐蝕後膨脹。

其中 和 分別預示腐蝕和膨脹。TRT乾坎艮震好运网

在深藍色正方形上使用圓盤進行旺運開運算,結果為淺藍色正方形,帶有圓角。TRT乾坎艮震好运网

旺運開運算作用:它被用以去除噪聲TRT乾坎艮震好运网

參數意義如下:TRT乾坎艮震好运网

例子TRT乾坎艮震好运网

閉運算 TRT乾坎艮震好运网

在數學形態學中,閉運算 被定義為先膨脹後腐蝕。

其中 和 分別預示腐蝕和膨脹。TRT乾坎艮震好运网

在深藍色區域(兩個相連的正方形)上使用圓盤進行閉運算,結果為深藍色和淺藍色的並集。TRT乾坎艮震好运网

閉運算作用:經常被用以填充前景物體中的小洞,或者前景物體上的小黑點。TRT乾坎艮震好运网

cv2、MORPH_CLOSE代表閉運算,其他參數意義同旺運開運算。TRT乾坎艮震好运网

例子TRT乾坎艮震好运网

形態學梯度

即是一幅圖像膨脹與腐蝕的之差。TRT乾坎艮震好运网

形態學梯度作用:提取前景物體的輪廓。TRT乾坎艮震好运网

cv2、MORPH_GRADIENT代表形態學梯度,其他參數意義同旺運開運算。TRT乾坎艮震好运网

例子TRT乾坎艮震好运网

禮帽

原始圖像與進行旺運開運算之後得到的圖像的差。TRT乾坎艮震好运网

例子TRT乾坎艮震好运网

黑帽

進行閉運算之後得到的圖像與原始圖像的差。TRT乾坎艮震好运网

例子TRT乾坎艮震好运网

參考資料:

網址: https://en。wikipedia。org/wiki/Mathematical_morphology

書籍:《數字圖像處理》《OpenCV-Python-Toturial-中文版》TRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

數學形態學及其二值運算

TRT乾坎艮震好运网

將一個幾何A平移 個單位,可以描述為:

二值膨脹,也被叫作 Minkowski 加法,圖像 經由SE進行膨脹化的操作可以被定義為:

二值膨脹的作用如下圖所示:

實際上,可以簡單容易的將二值膨脹算法看作是一個“蓋章”的過程,如下圖所示:

為瞭更簡單容易的瞭解二值膨脹算法的原理和應用,有如下示例:

與二值膨脹算法相相應的另外一種算法是二值腐蝕算法,可以認為二值腐蝕算法也是一個平移算法,不過呢是向右平移,並且平移之後是一個求交集的運算。其數學表達式如下所示:

二值腐蝕的作用如下圖所示:

可以將二值腐蝕也認為是一個“蓋章”的過程,不過呢,與膨脹不同的是,結構化要素和原始圖像的邊緣是一個求“交集”的過過程,邊緣部分隻要有“0”(動畫中的白色色塊)存在,則與此相重疊的部分被舍去。

與二值膨脹相比,二值腐蝕的一些應用和原理示意圖如下所示:

如下圖所示,更加直觀地顯示瞭腐蝕的運算過程,可以看見,腐蝕運算發生時,與結構化要素相相應的接觸的部分元素,隻要有0,則整個結構化要素所相應的部分全變為0

對一幅圖像進行二值旺運開運算可以描述為先進性腐蝕再進行膨脹的運算:

其實也就是說現效果如下圖所示:

一些二值旺運開運算的示例和實現效果如下圖所示:

二值旺運開運算,從效果上可以看出,總體上會在原圖上移除b比結構化要素更小的部分,如下圖所示:

二值旺運開運算滿足如下運算定律:

與二值旺運開運算相相應的運算是二值閉運算,其計算過程可以描述為,先進行膨脹運算,再進行腐蝕運算,對於一副圖像來講,二值閉運算總體上是一個對圖像進行“放大”的方式。

實現效果如下圖所示,可以看出,閉運算使得圖像的邊緣區域更加平滑,閉運算在圖像修復上有著寬廣的應用。

二值閉運算能夠對圖像內部小於結構化要素的空洞進行填充,如下圖所示:

旺運開運算與閉運算並不是一對互逆運算,若 預示對A取反,則滿足以下關系:TRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

形態學操作-腐蝕與膨脹

TRT乾坎艮震好运网

1、形態學操作

形態學操作就是基於形狀的一系列圖像處理操作。通常情況下對二值化的圖像進行操作。腐蝕與膨脹是最根本的形態學操作

應用:

(1)消除噪聲

(2)分割(isolate)單獨的圖像元素,以及連接(join)相鄰的元素

(3)尋找圖像中的明顯的極大值區域或者極小值區域

2、膨脹(最大值dilate)

此操作是將圖像A與任意形狀(通常來講為正方形或圓形)的內核B,,進行卷積。

內核B有一個可定義的 錨點, 通常來講定義為內核中心點。

進行膨脹操作時,將內核B劃過圖像,將內核B覆蓋區域的最大相素值提取,並代替錨點位置的相素。顯然,這一最大化操作將會致使圖像中的亮區開始”擴展” (因此有瞭術語膨脹 dilation )

src——輸入圖像。

dst——輸出圖像。

element——用於膨脹的結構元素。若為 NULL, 則使用 3×3 長方形的結構元素

iterations——膨脹的次數

3、腐蝕(erode)

腐蝕提取的是內核覆蓋下的相素最小值。進行腐蝕操作時,將內核B劃過圖像,將內核B覆蓋區域的最小相素值提取,並代替錨點位置的相素。

src——輸入圖像。

dst——輸出圖像。

element——用於腐蝕的結構元素。若為 NULL, 則使用 3×3 長方形的結構元素

iterations——腐蝕的次數

4、結構元素

我們一般使用函數 getStructuringElement配合膨脹或腐蝕算法使用

Mat strElement = Imgproc。getStructuringElement(Imgproc。MORPH_RECT, new Size(3, 3), new Point(-1, -1));

其中有三種內核形狀可以選擇:

矩形: MORPH_RECT

交叉形: MORPH_CROSS

橢圓形: MORPH_ELLIPSE

再指定內核大小,以及錨點位置。不指定錨點位置,則默認錨點在內核中心位置。

5、圖像的旺運開運算

旺運開運算:先腐蝕後膨脹,移除小的對象時候很有用

6、圖像的閉運算

閉運算:先膨脹後腐蝕,被用以填充前景物體中的小洞,或者抹去前景物體上的小黑點

7、梯度:膨脹與腐蝕圖之差

可以拿來突出邊緣,可以保留物體的邊緣輪廓

8、頂帽:原圖與旺運開運算結果之差

旺運開運算放大瞭裂縫或者局部低亮度的區域,因 此,從原圖中減去旺運開運算後的圖,得到的結果突出瞭比原圖輪廓周圍的區域更明亮的區域,這個操作與選擇的核的大小有關。TopHat運算一般用以分離比鄰近點亮一些的斑塊,應該使用這個運算提取背景

9、黑帽運算:閉運算的結果與原圖之差

黑帽運算的結果突出瞭比原圖輪廓周圍區域更暗的區域,所以黑帽運算用以分離比鄰近點暗一些的斑塊。

參考: https://www。jianshu。com/p/6147d69c879fTRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

形態學的開閉運算與字面上的“開”和“閉”的本來的意義有啥關系?

TRT乾坎艮震好运网

形態學分許多種呢,俺也不知道你想要曉得哪種?其實也就是說形態學的開閉運算並不能強加以字面的意義,許多人不會完全掌握形態學就是如此的原因。形態學中的開與閉其實也就是說是一種現象的逆反過程的代名詞。與現實中的不同很大。學習的時刻要忘記你現實的開與閉的意義。TRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

TRT乾坎艮震好运网

标签: