🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
Package org.opencv.features
クラス DescriptorMatcher
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.features.DescriptorMatcher
-
- 既知の直接サブクラス:
BFMatcher,FlannBasedMatcher,LightGlueMatcher
public class DescriptorMatcher extends Algorithm
Abstract base class for matching keypoint descriptors. It has two groups of match methods: for matching descriptors of an image with another image or with an image set.
-
-
フィールドの要約
フィールド Modifier and Type Field Description static intBRUTEFORCEstatic intBRUTEFORCE_HAMMINGstatic intBRUTEFORCE_HAMMINGLUTstatic intBRUTEFORCE_L1static intBRUTEFORCE_SL2static intFLANNBASED
-
コンストラクタの要約
コンストラクタ Modifier Constructor Description protectedDescriptorMatcher​(long addr)
-
メソッドの要約
すべてのメソッド 静的メソッド インスタンスメソッド 具象メソッド Modifier and Type Method Description static DescriptorMatcher__fromPtr__​(long addr)voidadd​(java.util.List<Mat> descriptors)Adds descriptors to train a CPU(trainDescCollectionis) or GPU(utrainDescCollectionis) descriptor collection.voidclear()Clears the train descriptor collections.DescriptorMatcherclone()Clones the matcher.DescriptorMatcherclone​(boolean emptyTrainData)Clones the matcher.static DescriptorMatchercreate​(int matcherType)static DescriptorMatchercreate​(java.lang.String descriptorMatcherType)Creates a descriptor matcher of a given type with the default parameters (using default constructor).booleanempty()Returns true if there are no train descriptors in the both collections.java.util.List<Mat>getTrainDescriptors()Returns a constant link to the train descriptor collection trainDescCollection .booleanisMaskSupported()Returns true if the descriptor matcher supports masking permissible matches.voidknnMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, int k)voidknnMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, int k, java.util.List<Mat> masks)voidknnMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, int k, java.util.List<Mat> masks, boolean compactResult)voidknnMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, int k)Finds the k best matches for each descriptor from a query set.voidknnMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, int k, Mat mask)Finds the k best matches for each descriptor from a query set.voidknnMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, int k, Mat mask, boolean compactResult)Finds the k best matches for each descriptor from a query set.voidmatch​(Mat queryDescriptors, MatOfDMatch matches)voidmatch​(Mat queryDescriptors, MatOfDMatch matches, java.util.List<Mat> masks)voidmatch​(Mat queryDescriptors, Mat trainDescriptors, MatOfDMatch matches)Finds the best match for each descriptor from a query set.voidmatch​(Mat queryDescriptors, Mat trainDescriptors, MatOfDMatch matches, Mat mask)Finds the best match for each descriptor from a query set.voidradiusMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance)voidradiusMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, java.util.List<Mat> masks)voidradiusMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, java.util.List<Mat> masks, boolean compactResult)voidradiusMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance)For each query descriptor, finds the training descriptors not farther than the specified distance.voidradiusMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, Mat mask)For each query descriptor, finds the training descriptors not farther than the specified distance.voidradiusMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, Mat mask, boolean compactResult)For each query descriptor, finds the training descriptors not farther than the specified distance.voidread​(java.lang.String fileName)voidtrain()Trains a descriptor matcher Trains a descriptor matcher (for example, the flann index).voidwrite​(java.lang.String fileName)-
クラス org.opencv.core.Algorithm から継承されたメソッド
getDefaultName, getNativeObjAddr, save
-
-
-
-
フィールドの詳細
-
FLANNBASED
public static final int FLANNBASED
- 関連項目:
- 定数フィールド値
-
BRUTEFORCE
public static final int BRUTEFORCE
- 関連項目:
- 定数フィールド値
-
BRUTEFORCE_L1
public static final int BRUTEFORCE_L1
- 関連項目:
- 定数フィールド値
-
BRUTEFORCE_HAMMING
public static final int BRUTEFORCE_HAMMING
- 関連項目:
- 定数フィールド値
-
BRUTEFORCE_HAMMINGLUT
public static final int BRUTEFORCE_HAMMINGLUT
- 関連項目:
- 定数フィールド値
-
BRUTEFORCE_SL2
public static final int BRUTEFORCE_SL2
- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
__fromPtr__
public static DescriptorMatcher __fromPtr__​(long addr)
-
add
public void add​(java.util.List<Mat> descriptors)
Adds descriptors to train a CPU(trainDescCollectionis) or GPU(utrainDescCollectionis) descriptor collection. If the collection is not empty, the new descriptors are added to existing train descriptors.- 引数:
descriptors- 追加する記述子。各 descriptors[i] は同一の学習画像から得られた記述子のセットである。
-
getTrainDescriptors
public java.util.List<Mat> getTrainDescriptors()
Returns a constant link to the train descriptor collection trainDescCollection .- 戻り値:
- 自動生成
-
empty
public boolean empty()
Returns true if there are no train descriptors in the both collections.
-
isMaskSupported
public boolean isMaskSupported()
Returns true if the descriptor matcher supports masking permissible matches.- 戻り値:
- 自動生成
-
train
public void train()
Trains a descriptor matcher Trains a descriptor matcher (for example, the flann index). In all methods to match, the method train() is run every time before matching. Some descriptor matchers (for example, BruteForceMatcher) have an empty implementation of this method. Other matchers really train their inner structures (for example, FlannBasedMatcher trains flann::Index ).
-
match
public void match​(Mat queryDescriptors, Mat trainDescriptors, MatOfDMatch matches, Mat mask)
Finds the best match for each descriptor from a query set.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。matches- マッチング結果。クエリ記述子が mask によってマスクされている場合、その記述子に対するマッチは追加されない。そのため、matches のサイズはクエリ記述子の数より小さくなることがある。mask- 入力クエリと学習用記述子行列との間で許容されるマッチを指定するマスク。このメソッドの第1のバリアントでは、学習用記述子が入力引数として渡される。第2のバリアントでは、DescriptorMatcher::add によって設定された学習用記述子コレクションが使用される。どのクエリ記述子と学習用記述子をマッチング可能とするかを指定するために、省略可能なマスク(または複数のマスク)を渡すことができる。具体的には、queryDescriptors[i] は mask.at<uchar>(i,j) が非ゼロの場合にのみ trainDescriptors[j] とマッチング可能である。
-
match
public void match​(Mat queryDescriptors, Mat trainDescriptors, MatOfDMatch matches)
Finds the best match for each descriptor from a query set.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。matches- マッチング結果。クエリ記述子が mask によってマスクされている場合、その記述子に対するマッチは追加されない。そのため、matches のサイズはクエリ記述子の数より小さくなることがある。descriptors. このメソッドの第1のバリアントでは、学習用記述子が入力引数として渡される。第2のバリアントでは、DescriptorMatcher::add によって設定された学習用記述子コレクションが使用される。どのクエリ記述子と学習用記述子をマッチング可能とするかを指定するために、省略可能なマスク(または複数のマスク)を渡すことができる。具体的には、queryDescriptors[i] は mask.at<uchar>(i,j) が非ゼロの場合にのみ trainDescriptors[j] とマッチング可能である。
-
knnMatch
public void knnMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, int k, Mat mask, boolean compactResult)
Finds the k best matches for each descriptor from a query set.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。mask- 入力クエリと学習用記述子行列との間で許容されるマッチを指定するマスク。matches- マッチング結果。各 matches[i] は、同一のクエリ記述子に対する k 個以下のマッチである。k- 各クエリ記述子について見つける最良マッチの数。クエリ記述子が全体で k 個未満のマッチしか持たない場合はそれより少なくなる。compactResult- マスク(または複数のマスク)が空でない場合に使用される引数。compactResult が false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。これらの拡張バリアントである DescriptorMatcher::match メソッドは、各クエリ記述子に対して複数の最良マッチを見つける。マッチは距離の昇順で返される。クエリ記述子と学習用記述子の詳細については DescriptorMatcher::match を参照。
-
knnMatch
public void knnMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, int k, Mat mask)
Finds the k best matches for each descriptor from a query set.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。mask- 入力クエリと学習用記述子行列との間で許容されるマッチを指定するマスク。matches- マッチング結果。各 matches[i] は、同一のクエリ記述子に対する k 個以下のマッチである。k- 各クエリ記述子について見つける最良マッチの数。クエリ記述子が全体で k 個未満のマッチしか持たない場合はそれより少なくなる。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。これらの拡張バリアントである DescriptorMatcher::match メソッドは、各クエリ記述子に対して複数の最良マッチを見つける。マッチは距離の昇順で返される。クエリ記述子と学習用記述子の詳細については DescriptorMatcher::match を参照。
-
knnMatch
public void knnMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, int k)
Finds the k best matches for each descriptor from a query set.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。descriptors.matches- マッチング結果。各 matches[i] は、同一のクエリ記述子に対する k 個以下のマッチである。k- 各クエリ記述子について見つける最良マッチの数。クエリ記述子が全体で k 個未満のマッチしか持たない場合はそれより少なくなる。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。これらの拡張バリアントである DescriptorMatcher::match メソッドは、各クエリ記述子に対して複数の最良マッチを見つける。マッチは距離の昇順で返される。クエリ記述子と学習用記述子の詳細については DescriptorMatcher::match を参照。
-
radiusMatch
public void radiusMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, Mat mask, boolean compactResult)
For each query descriptor, finds the training descriptors not farther than the specified distance.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。matches- 見つかったマッチ。compactResult- マスク(または複数のマスク)が空でない場合に使用される引数。compactResult が false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。maxDistance- マッチした記述子間の距離に対するしきい値。ここでの距離は計量上の距離(例: ハミング距離)を意味し、座標間の距離(ピクセル単位で測定されるもの)ではない!mask- 入力クエリ記述子と学習記述子の行列の間で許容されるマッチを指定するマスク。各クエリ記述子について、本メソッドはクエリ記述子と学習記述子の距離が maxDistance 以下となる学習記述子を探す。見つかったマッチは距離の昇順で返される。
-
radiusMatch
public void radiusMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, Mat mask)
For each query descriptor, finds the training descriptors not farther than the specified distance.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。matches- 見つかったマッチ。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。maxDistance- マッチした記述子間の距離に対するしきい値。ここでの距離は計量上の距離(例: ハミング距離)を意味し、座標間の距離(ピクセル単位で測定されるもの)ではない!mask- 入力クエリ記述子と学習記述子の行列の間で許容されるマッチを指定するマスク。各クエリ記述子について、本メソッドはクエリ記述子と学習記述子の距離が maxDistance 以下となる学習記述子を探す。見つかったマッチは距離の昇順で返される。
-
radiusMatch
public void radiusMatch​(Mat queryDescriptors, Mat trainDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance)
For each query descriptor, finds the training descriptors not farther than the specified distance.- 引数:
queryDescriptors- 記述子のクエリセット。trainDescriptors- 記述子の学習セット。このセットは、クラスオブジェクトに格納されている学習用記述子コレクションには追加されない。matches- 見つかったマッチ。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。maxDistance- マッチした記述子間の距離に対するしきい値。ここでの距離は計量上の距離(例: ハミング距離)を意味し、座標間の距離(ピクセル単位で測定されるもの)ではない!記述子。各クエリ記述子について、本メソッドはクエリ記述子と学習記述子の距離が maxDistance 以下となる学習記述子を探す。見つかったマッチは距離の昇順で返される。
-
match
public void match​(Mat queryDescriptors, MatOfDMatch matches, java.util.List<Mat> masks)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- マッチング結果。クエリ記述子が mask によってマスクされている場合、その記述子に対するマッチは追加されない。そのため、matches のサイズはクエリ記述子の数より小さくなることがある。masks- マスクの集合。各 masks[i] は、入力クエリ記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子の間で許容されるマッチを指定する。
-
match
public void match​(Mat queryDescriptors, MatOfDMatch matches)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- マッチ。あるクエリ記述子が mask でマスクアウトされている場合、その記述子に対するマッチは追加されない。したがって、matches のサイズはクエリ記述子の数より小さくなることがある。記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子。
-
knnMatch
public void knnMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, int k, java.util.List<Mat> masks, boolean compactResult)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- マッチング結果。各 matches[i] は、同一のクエリ記述子に対する k 個以下のマッチである。k- 各クエリ記述子について見つける最良マッチの数。クエリ記述子が全体で k 個未満のマッチしか持たない場合はそれより少なくなる。masks- マスクの集合。各 masks[i] は、入力クエリ記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子の間で許容されるマッチを指定する。compactResult- マスク(または複数のマスク)が空でない場合に使用される引数。compactResult が false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。
-
knnMatch
public void knnMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, int k, java.util.List<Mat> masks)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- マッチング結果。各 matches[i] は、同一のクエリ記述子に対する k 個以下のマッチである。k- 各クエリ記述子について見つける最良マッチの数。クエリ記述子が全体で k 個未満のマッチしか持たない場合はそれより少なくなる。masks- マスクの集合。各 masks[i] は、入力クエリ記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子の間で許容されるマッチを指定する。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。
-
knnMatch
public void knnMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, int k)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- マッチング結果。各 matches[i] は、同一のクエリ記述子に対する k 個以下のマッチである。k- 各クエリ記述子について見つかる上位マッチの数。クエリ記述子の取り得るマッチが合計で k 個未満の場合はそれより少なくなる。記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。
-
radiusMatch
public void radiusMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, java.util.List<Mat> masks, boolean compactResult)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- 見つかったマッチ。maxDistance- マッチした記述子間の距離に対するしきい値。ここでの距離は計量上の距離(例: ハミング距離)を意味し、座標間の距離(ピクセル単位で測定されるもの)ではない!masks- マスクの集合。各 masks[i] は、入力クエリ記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子の間で許容されるマッチを指定する。compactResult- マスク(または複数のマスク)が空でない場合に使用される引数。compactResult が false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。
-
radiusMatch
public void radiusMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance, java.util.List<Mat> masks)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- 見つかったマッチ。maxDistance- マッチした記述子間の距離に対するしきい値。ここでの距離は計量上の距離(例: ハミング距離)を意味し、座標間の距離(ピクセル単位で測定されるもの)ではない!masks- マスクの集合。各 masks[i] は、入力クエリ記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子の間で許容されるマッチを指定する。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。
-
radiusMatch
public void radiusMatch​(Mat queryDescriptors, java.util.List<MatOfDMatch> matches, float maxDistance)
- 引数:
queryDescriptors- 記述子のクエリセット。matches- 見つかったマッチ。maxDistance- マッチした記述子間の距離に対するしきい値。ここでの距離は計量上の距離(例: ハミング距離)を意味し、座標間の距離(ピクセル単位で測定されるもの)ではない!記述子と i 番目の画像 trainDescCollection[i] に格納された学習記述子。false の場合、matches ベクトルは queryDescriptors の行数と同じサイズになる。compactResult が true の場合、matches ベクトルには完全にマスクアウトされたクエリ記述子に対するマッチは含まれない。
-
write
public void write​(java.lang.String fileName)
-
read
public void read​(java.lang.String fileName)
-
clone
public DescriptorMatcher clone​(boolean emptyTrainData)
Clones the matcher.- 引数:
emptyTrainData- emptyTrainData が false の場合、本メソッドはオブジェクトのディープコピーを作成する。すなわち、引数と学習データの両方をコピーする。emptyTrainData が true の場合、現在の引数を持つが学習データは空であるオブジェクトのコピーを作成する。- 戻り値:
- 自動生成
-
clone
public DescriptorMatcher clone()
Clones the matcher. that is, copies both parameters and train data. If emptyTrainData is true, the method creates an object copy with the current parameters but with empty train data.- オーバーライド:
clonein classjava.lang.Object- 戻り値:
- 自動生成
-
create
public static DescriptorMatcher create​(java.lang.String descriptorMatcherType)
Creates a descriptor matcher of a given type with the default parameters (using default constructor).- 引数:
descriptorMatcherType- Descriptor matcher type. Now the following matcher types are supported:BruteForce(L2 を使用する)-
BruteForce-L1 -
BruteForce-Hamming -
BruteForce-Hamming(2) -
FlannBased
- 戻り値:
- 自動生成
-
create
public static DescriptorMatcher create​(int matcherType)
-
-