令a為z中的集合,如果a=(a1,a2)是a中的元素,則:a∈a
如果a不是a中的元素,則:a∉a
matlab函式:ismember(a,a),似乎還有個函式in與此類似 另外
判斷集合中的元素是否按公升序排列:issorted(a)
想想issorted(a(end:-1:1))是什麼意思?
刪除集合中的重複元素:unique(a)
如果a中的元素又是b中的元素,則a是b的子集,表示為:a⊆b
a∩b
matlab集合函式:c=intersect(a,b)
對於二值影象:a&b
a∪b
matlab集合函式:c=union(a,b)
對於二值影象:a|b
a-b
matlab集合函式:c=setdiff (a,b)
對於二值影象:a&(~b)
~b表示b的非
aorb 異或
matlab集合函式:setdiff(union(a,b),intersect(a,b))
對於二值影象:(a|b)&(~(a&b))
a的反射
matlab運算:a=~b
a平移到z,z=(z1,z2)
matlab運算:b=a+[z1 z2]
定義來自①,在②中有不同的定義
注,不明白b的反射有什麼用
膨脹可以簡單的理解為:結構元素繞二值影象邊界(白色部分的邊界,因為在二值圖中1為白色)走一圈,原圖加上原圖之外結構元素掃到的部分就是膨脹的結果。
結構元素b可以定義為
膨脹的特點:採用結構元素b1
總體上看白色區域擴大「一圈」;
白色外角失去角尖,變得圓滑;
注:符號應是圓圈裡面減號
簡單理解為:把結構元素想象成橡皮擦。結構元素繞邊界區域一圈,抹去了部分影象
總體上白色區域「瘦了一圈」;
白色區域內角失去角尖,變圓滑;
開運算可以看做是,結構元素b在a內貼著邊界轉了一圈,不能超出a,掃掠到的範圍及其內部就是開運算的結果
開運算的結果:
尖角處被圓滑、細頸被斷開(這點在圖上沒有體現出來);
孤立點被削去(限於disk)
閉運算可以看做是(不太準確),結構元素b在a外貼著a的外邊界轉了一圈,圍成的區域構成閉運算的結果
閉運算結果:
內部小孔被填補(限於disk);
內部細通道被填補;
形態學重建
在形態學梯度影象的基礎上,利用形態學的開閉重建運算對梯度影象進行重建,在保留重要區域倫敦的同時去除細節和雜訊。分水嶺變換存在過分割現象,原因在於檢測的區域性極值過多,造成極值過多的原因在於影象中的非規則灰度擾動和雜訊。對於好的分水嶺影象分割方法,不僅能消除過分割現象,而且應保證分割後的區域倫敦邊緣具...
形態學濾波
include pch.h include include include include using namespace std using namespace cv 形態學 mat g srcimage,g dstimage int g nelementshape morph rect int ...
形態學運算元
形態學運算元的主要思想是用一定形狀的結構元素 在影象中抽取出相應的某些結構,通常可以用於影象的濾波 分割 分類等處理。形態學運算元有腐蝕 膨脹 開和閉四種。腐蝕腐蝕是一種消除邊界點,使邊界向內部收縮的過程。可以用來消除小且無意義的物體。腐蝕的演算法 用3x3的結構元素,掃瞄影象的每乙個畫素 用結構元...