WIL説明書(C++)  3.0.0
変数
FVCL::Filter::DistanceTransformMode 名前空間

距離変換モード [詳解]

詳解

距離変換モード

画素間の距離の定義を表す定数です。

参照
FVCL::Filter::CFvDistanceTransform

変数

const INT CityBlock = F_DT_CITY_BLOCK
 シティブロック距離 [詳解]
 
const INT ChessBoard = F_DT_CHESS_BOARD
 チェスボード距離 [詳解]
 
const INT EuclideanApproxi = F_DT_EUCLIDEAN_APPROXI
 近似ユークリッド距離 [詳解]
 
const INT EuclideanExact = F_DT_EUCLIDEAN_EXACT
 ユークリッド距離 [詳解]
 

変数詳解

const INT FVCL::Filter::DistanceTransformMode::CityBlock = F_DT_CITY_BLOCK

シティブロック距離

この距離定義は、上下左右に隣接する画素を1とします。 4近傍距離とも呼ばれます。

DistanceTransformMode_CityBlock.png

2つの画素 (x1,y1) と (x2,y2) の距離は下式で求められます。

\[dx = |x2 - x1| \]

\[dy = |y2 - y1| \]

\[distance = dx + dy \]

const INT FVCL::Filter::DistanceTransformMode::ChessBoard = F_DT_CHESS_BOARD

チェスボード距離

この距離定義は、上下左右と斜め方向に隣接する画素を1とします。 8近傍距離とも呼ばれます。

DistanceTransformMode_ChessBoard.png

2つの画素 (x1,y1) と (x2,y2) の距離は下式で求められます。

\[dx = |x2 - x1| \]

\[dy = |y2 - y1| \]

\[distance = MAX(dx, dy) \]

const INT FVCL::Filter::DistanceTransformMode::EuclideanApproxi = F_DT_EUCLIDEAN_APPROXI

近似ユークリッド距離

EuclideanExact と同様に画素間を結ぶ線分の長さを距離とします。 EuclideanExact と比べると若干の誤差があります。

const INT FVCL::Filter::DistanceTransformMode::EuclideanExact = F_DT_EUCLIDEAN_EXACT

ユークリッド距離

画素間を結ぶ線分(下図点線部分)の長さを距離とします。

DistanceTransformMode_Euclidean.png

2つの画素 (x1,y1) と (x2,y2) の距離は下式で求められます。

\[dx = |x2 - x1| \]

\[dy = |y2 - y1| \]

\[distance = \sqrt{ dx^2 + dy^2 } \]


Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時13分02秒 for WIL説明書(C++) by doxygen 1.8.11