OpenCV 4.5.3(日本語機械翻訳)
|
列挙型 |
|
enum |
cv::TemplateMatchModes
{
cv::TM_SQDIFF = 0 , cv::TM_SQDIFF_NORMED = 1 , cv::TM_CCORR = 2 , cv::TM_CCORR_NORMED = 3 , cv::TM_CCOEFF = 4 , cv::TM_CCOEFF_NORMED = 5 } |
テンプレートマッチング操作のタイプ[【詳解】(英語]
|
|
関数 |
|
CV_EXPORTS_W void | cv::matchTemplate (InputArray image, InputArray templ, OutputArray result, int method, InputArray mask=noArray()) |
オーバーラップした画像領域に対してテンプレートを比較します。[【詳解】(英語]
|
|
CV_EXPORTS_W void cv::matchTemplate | ( | InputArray | image, |
InputArray | templ, | ||
OutputArray | result, | ||
int | method, | ||
InputArray |
mask
=
noArray() |
||
) |
オーバーラップした画像領域に対してテンプレートを比較します。
この関数は,画像をスライドさせ,サイズの異なるオーバーラップしたパッチを,指定された方法でテンプレートと比較します。templ に対して,指定された方法で比較を行い,比較結果を result に格納します.TemplateMatchModesには,利用可能な比較手法の式が記述されています (
は,画像を表します.
template を表します.
result を表します.
オプションのマスク)。和算は,テンプレートや画像パッチに対して行われます.
この関数が比較を終えた後,ベストマッチは,グローバルな最小値(TM_SQDIFFが利用された場合)または最大値(TM_CCORRまたはTM_CCOEFFが利用された場合)に,関数minMaxLoc関数を使います.カラー画像の場合,テンプレートの分子の和と,分母の各和は,すべてのチャンネルに対して行われ,各チャンネルに対して別々の平均値が用いられます.つまり,この関数は,カラーテンプレートとカラー画像を受け取ることができます.結果は,やはりシングルチャンネルの画像となり,解析が容易になります.
image | 検索が行われる画像.8ビットまたは32ビット浮動小数点でなければなりません. |
templ | 検索されたテンプレート。元画像より大きくてはならず,同じデータ型でなければなりません. |
result | 比較結果のマップ。シングルチャンネルの32ビット浮動小数点である必要があります。もし,image が![]() ![]() ![]() |
method | 比較手法を指定するパラメータ,参照TemplateMatchModes |
mask | オプションのマスク.templ と同じサイズでなければなりません。これは,テンプレートと同じ数のチャンネルを持つか,あるいは1つのチャンネルのみを持つ必要があります.データ型が #CV_8U の場合,マスクはバイナリマスクとして解釈されます.つまり,マスクが0ではない要素のみが利用され,実際のマスク値(重みは1に等しい)とは無関係に変更されません.また,#CV_32F のデータでは,マスクの値が重みとして用いられます。正確な計算式は以下に記載されています。TemplateMatchModes. |