OpenCV 4.5.3(日本語機械翻訳)
全て クラス 名前空間 ファイル 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
モジュール | 名前空間 | 列挙型 | 列挙値 | 関数
Extended Image Processing

モジュール

Structured forests for fast edge detection

名前空間

namespace cv
"black box" representation of the file storage associated with a file on disk.

列挙型

enum ThinningTypes { THINNING_ZHANGSUEN = 0 , THINNING_GUOHALL = 1 }
enum cv::ximgproc::LocalBinarizationMethods { cv::ximgproc::BINARIZATION_NIBLACK = 0 , cv::ximgproc::BINARIZATION_SAUVOLA = 1 , cv::ximgproc::BINARIZATION_WOLF = 2 , cv::ximgproc::BINARIZATION_NICK = 3 }
cv::ximgproc::niBlackThreshold で利用する2値化手法を指定します.[【詳解】(英語]

関数

CV_EXPORTS_W void cv::ximgproc::niBlackThreshold (InputArray _src, OutputArray _dst, double maxValue, int type, int blockSize, double k, int binarizationMethod=BINARIZATION_NIBLACK, double r=128)
Niblack の手法や,Niblack に影響を与えた一般的なバリエーションを用いて,入力画像に対して閾値処理を行います.[【詳解】(英語]
CV_EXPORTS_W void cv::ximgproc::thinning (InputArray src, OutputArray dst, int thinningType=THINNING_ZHANGSUEN)
入力画像のスケルトン化を実現するために,2値blobの間引き演算を行います.[【詳解】(英語]
CV_EXPORTS_W void cv::ximgproc::anisotropicDiffusion (InputArray src, OutputArray dst, float alpha, float K, int niters)
画像に異方性拡散を施します.[【詳解】(英語]
CV_EXPORTS_W void cv::ximgproc::edgePreservingFilter (InputArray src, OutputArray dst, int d, double threshold)
エッジ保存フィルタを使って,画像を平滑化します.[【詳解】(英語]
CV_EXPORTS Matx23d cv::ximgproc::PeiLinNormalization (InputArray I)
Pei&Lin正規化を用いて,与えられた画像を正規化するアフィン変換を求めます.[【詳解】(英語]
CV_EXPORTS_W void cv::ximgproc::PeiLinNormalization (InputArray I, OutputArray T)

詳解

列挙型詳解

LocalBinarizationMethods

cv::ximgproc::niBlackThreshold で利用する2値化手法を指定します.

列挙値
BINARIZATION_NIBLACK

古典的な Niblack 二値化を行います.以下を参照してください[Niblack1985] を参照してください..

BINARIZATION_SAUVOLA

Sauvola氏の手法。参照[Sauvola1997] を参照してください。.

二値化_ウルフ

Wolfの手法です。参照[Wolf2004] を参照してください。.

二値化_NICK

NICKの手法です。参照[Khurshid2009] を参照してください。.

関数詳解

anisotropicDiffusion()

CV_EXPORTS_W void cv::ximgproc::anisotropicDiffusion ( InputArray src,
OutputArray dst,
float alpha,
float K,
int niters
)

画像に異方性拡散を施します.

この関数は,Perona-Malikの異方性拡散を画像に適用します.これは,偏微分方程式の解となります.

\[{\frac {\partial I}{\partial t}}={\mathrm {div}}\left(c(x,y,t)\nabla I\right)=\nabla c\cdot \nabla I+c(x,y,t)\Delta I\]

c(x,y,t) に推奨される関数は以下の通りです.

\[c\left(\|\nabla I\|\right)=e^{{-\left(\|\nabla I\|/K\right)^{2}}}\]

または

\[ c\left(\|\nabla I\|\right)={\frac {1}{1+\left({\frac {\|\nabla I\|}{K}}\right)^{2}}} \]

引数
src 3チャンネルのソース画像.
dst src と同じサイズ,同じチャンネル数の出力画像.
alpha 反復ごとに時間をかけてステップアップする量(通常は0から1の間です)。
K エッジに対する感度
niters イテレーションの回数

edgePreservingFilter()

CV_EXPORTS_W void cv::ximgproc::edgePreservingFilter ( InputArray src,
OutputArray dst,
int d,
double threshold
)

エッジ保存フィルタを使って,画像を平滑化します.

この関数は,ガウシアンノイズだけでなく,ソルト&ペッパーノイズも平滑化します.この実装の詳細については、[ReiWoe18] Reich, S. and Wörgötter, F. and Dellen, B. (2018). A Real-Time Edge-Preserving Denoising Filter. Proceedings of the 13th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP): Visapp, 85-94, 4. doi: 10.5220/0006509000850094.

引数
src ソースとなる8ビット3チャンネル画像。
dst src と同じサイズ,同じタイプの出力画像.
d フィルタリングの際に利用される,各ピクセルの近傍領域の直径.3以上でなければいけません.
threshold ノイズ,異常値,データを区別するための閾値(しきい値).

niBlackThreshold()

CV_EXPORTS_W void cv::ximgproc::niBlackThreshold ( InputArray _src,
OutputArray _dst,
double maxValue,
int type,
int blockSize,
double k,
int binarizationMethod = BINARIZATION_NIBLACK,
double r = 128
)

Niblack の手法や,Niblack に影響を与えた一般的なバリエーションを用いて,入力画像に対して閾値処理を行います.

この関数は,次の式に従ってグレースケール画像を2値画像に変換します.

  • THRESH_BINARY

    \[dst(x,y) = \fork{\texttt{maxValue}}{if \‍(src(x,y) > T(x,y)\‍)}{0}{otherwise}\]

  • THRESH_BINARY_INV

    \[dst(x,y) = \fork{0}{if \‍(src(x,y) > T(x,y)\‍)}{\texttt{maxValue}}{otherwise}\]

    ここで$T(x,y)$は、各ピクセルに対して個別に計算されたしきい値です。

しきい値$T(x, y)$は,選択した二値化手法に基づいて決定されます.古典的な Niblack では,平均値から標準偏差を引いた値です.$ k $の標準偏差の倍です.$\texttt{blockSize} \times\texttt{blockSize}$の近傍の平均値です。$(x, y)$.

この関数は,画像をその場で処理することはできません.

引数
_src 8ビットシングルチャンネルの入力画像.
_dst src と同じサイズ,同じタイプの出力画像.
maxValue THRESH_BINARY および THRESH_BINARY_INV 閾値タイプで使用され、条件が満たされたピクセルに割り当てられる非0の値。
type しきい値タイプ、参照cv::ThresholdTypes.
blockSize ピクセルに対する閾値を計算するために利用される,ピクセルの近傍領域のサイズ.3, 5, 7,...となります。
k Niblackやインスパイアされた技術で使用されるユーザー調整可能なパラメータです。Niblackの場合、通常は0から1の間の値で、標準偏差を掛けて平均値から差し引きます。
binarizationMethod 使用する2値化手法。デフォルトでは,Niblackの手法が利用されます.他の手法を指定することも可能で, cv::ximgproc::LocalBinarizationMethods を参照してください.
r Sauvolaの手法で利用される,ユーザが調整可能なパラメータです.これは,標準偏差のダイナミックレンジです.
参照
threshold,adaptiveThreshold

PeiLinNormalization() [1/2]

CV_EXPORTS Matx23d cv::ximgproc::PeiLinNormalization ( InputArray I )

Pei&Lin正規化を用いて,与えられた画像を正規化するアフィン変換を求めます.

与えられた画像$I=T(\bar{I})$ここで$\bar{I}$が正規化された画像であり$T$は,この画像を並進,回転,スケーリング,スキューによって歪ませるアフィン変換です.この関数は,[PeiLin95] に記述されている変換に対応するアフィン変換行列を返します.$T^{-1}$PeiLin95] に記述されている変換に対応するアフィン変換行列を返します.この実装の詳細については,[PeiLin95] Soo-Chang Pei and Chao-Nan Lin を参照してください.パターン認識のための画像正規化. Image and Vision Computing, Vol.13, N.10, pp.711-723, 1995.

引数
I 変換された画像が与えられると
戻り値
反転した画像変換に対応する変換行列

PeiLinNormalization() [2/2]

CV_EXPORTS_W void cv::ximgproc::PeiLinNormalization ( InputArray I,
OutputArray T
)

これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。

thinning()

CV_EXPORTS_W void cv::ximgproc::thinning ( InputArray src,
OutputArray dst,
int thinningType = THINNING_ZHANGSUEN
)

入力画像のスケルトン化を実現するために,2値blobの間引き演算を行います.

この関数は, Zhang-Suen の手法を用いて,2 値 blob 画像をスケルチ化します.

引数
src 入力画像は,2値のblobを含む8ビットシングルチャンネル画像で,blobのピクセル値は255です.
dst src と同じサイズ,同じタイプの出力画像.この関数は,インプレースで動作します.
thinningType どのような間引きアルゴリズムを利用するかを定義する値.cv::ximgproc::ThinningTypes を参照してください.