その画像形態数理形態学(モルフォロジー)はグレンと画像解析分野に基づいて、トポロジに基づいて構築され、数学的モルフォロジー画像処理の基本的な理論です。
一般的なイメージの形態学的操作:浸食、拡張、開口部、開閉動作、スケルトン抽出、極性腐食、ヒットミス変換、トップハット変換、粒子解析、流域変換、形態学的勾配;
最も基本的な形態学的な操作は次のとおりです。拡大(拡張術)およびエッチング(腐食);
腐食:むしばみます
ボイド(マット&SRC、//元の画像侵食
マット&DST、//対象画像
CONSTマット&素子、//畳み込みカーネル
ポイントアンカー=点(-1、-1 )、// コアの中心点は、省略してもよい
INT反復= 1 //腐食の数を省略することができます
INT borderType = BORDER_CONSTANT、//エッジ型は省略してもよいです
CONSTスカラー&borderValue = morphologyDefaultBorderValue() // エッジ値が省略されてもよい
);
例:
1つの マットイメージ関数imread =(" C:/figure6_16_a.png " ); 2 namedWindow(" オリジナル" ); 3。 関数imshow(" アートワーク" 、イメージ); 4。 マット= getStructuringElement要素(MORPH_RECT、サイズ(15、15 ) ); // 15 * 15長方形の構成畳み込みカーネル 5 のマットOUT2; 6 。7 (画像、要素のOUT2)を侵食; 8 namedWindow(" 腐食図" ) 。9 関数imshow(" 腐食図"のOUT2)。
マットgetStructuringElement(int型の形状、サイズESIZE、ポイントアンカーポイント=(-1、-1))。
パラメータ:
形状:コアの形状、MORPH_RECT、MORPH_CROSSとMORPH_ELLIPSE、それぞれ、長方形、楕円形、および十字形、対応する値であった0,1,2あります
拡張:
1 のマットOUT1、 2 namedWindow(" 拡張可能な図" ) 。3 DILATE(要素のイメージ、OUT1) 。4 関数imshow(" 拡張可能な図"のOUT1)。
開閉操作:
OpenCVの:morphologyEx()
関数:morphologyExより高度な形態学的変換を実行するために膨張及びエッチング技術の基本機能を使用して、
開閉操作、形態学的勾配、「トップハット」、「ブラックハット」など。
無効morphologyEx(
InputArray SRC、//
OutputArray DST、//
int型のオペアンプ、//モルフォロジー演算
InputArraykernel、
Pointanchorポイント=(-1、-1)、
intiterations = 1、
intborderType = BORDER_CONSTANT、
constScalar&borderValue = morphologyDefaultBorderValue())。
[注]:
int型opは:モルフォロジー演算の種類を示し、
MORPH_OPEN - 開放動作(開動作)
MORPH_CLOSE - 開閉動作(閉じる操作)
MORPH_GRADIENT - 形態学的勾配(形態学的勾配)
MORPH_TOPHAT - 「顶帽」(「トップハット」)
MORPH_BLACKHAT - 「黑帽」(「黒帽子「)
開放動作:第1のエッチング工程後の膨張;
特徴:
小さなオブジェクトの除去;
細身のオブジェクトを分離します。
滑らかな境界より大きな面積を大幅に変更されません。
1 マットOUT3の、 2 namedWindow(" オープン演算マップ" ) 。3 morphologyEx(画像のOUT3、MORPH_OPEN、エレメント); 4 関数imshow(" オープン算出マップ"のOUT3)。
形態学的クロージング:
開閉動作(Openrationを閉じる)、膨張後に、第一のエッチング。
特徴:
小さなブラックホール(黒点)の排除。
MATのOUT4; namedWindow(" 図の開閉動作。" ); MorphologyEx(イメージ、MORPH_CLOSEのOUT4、エレメント); 関数imshow(" 図の開閉動作"のOUT4)。