BFMatcher.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!-- NewPage -->
  3. <html lang="en">
  4. <head>
  5. <!-- Generated by javadoc (1.8.0_312) on Wed Jun 28 12:47:23 UTC 2023 -->
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>BFMatcher (OpenCV 4.8.0 Java documentation)</title>
  8. <meta name="date" content="2023-06-28">
  9. <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
  10. <script type="text/javascript" src="../../../script.js"></script>
  11. </head>
  12. <body>
  13. <script type="text/javascript"><!--
  14. try {
  15. if (location.href.indexOf('is-external=true') == -1) {
  16. parent.document.title="BFMatcher (OpenCV 4.8.0 Java documentation)";
  17. }
  18. }
  19. catch(err) {
  20. }
  21. //-->
  22. var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
  23. var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
  24. var altColor = "altColor";
  25. var rowColor = "rowColor";
  26. var tableTab = "tableTab";
  27. var activeTableTab = "activeTableTab";
  28. </script>
  29. <noscript>
  30. <div>JavaScript is disabled on your browser.</div>
  31. </noscript>
  32. <!-- ========= START OF TOP NAVBAR ======= -->
  33. <div class="topNav"><a name="navbar.top">
  34. <!-- -->
  35. </a>
  36. <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
  37. <a name="navbar.top.firstrow">
  38. <!-- -->
  39. </a>
  40. <ul class="navList" title="Navigation">
  41. <li><a href="../../../overview-summary.html">Overview</a></li>
  42. <li><a href="package-summary.html">Package</a></li>
  43. <li class="navBarCell1Rev">Class</li>
  44. <li><a href="package-tree.html">Tree</a></li>
  45. <li><a href="../../../index-all.html">Index</a></li>
  46. <li><a href="../../../help-doc.html">Help</a></li>
  47. </ul>
  48. <div class="aboutLanguage">
  49. <script>
  50. var url = window.location.href;
  51. var pos = url.lastIndexOf('/javadoc/');
  52. url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
  53. var script = document.createElement('script');
  54. script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
  55. document.getElementsByTagName('head')[0].appendChild(script);
  56. </script>
  57. </div>
  58. </div>
  59. <div class="subNav">
  60. <ul class="navList">
  61. <li><a href="../../../org/opencv/features2d/AKAZE.html" title="class in org.opencv.features2d"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
  62. <li><a href="../../../org/opencv/features2d/BOWImgDescriptorExtractor.html" title="class in org.opencv.features2d"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
  63. </ul>
  64. <ul class="navList">
  65. <li><a href="../../../index.html?org/opencv/features2d/BFMatcher.html" target="_top">Frames</a></li>
  66. <li><a href="BFMatcher.html" target="_top">No&nbsp;Frames</a></li>
  67. </ul>
  68. <ul class="navList" id="allclasses_navbar_top">
  69. <li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
  70. </ul>
  71. <div>
  72. <script type="text/javascript"><!--
  73. allClassesLink = document.getElementById("allclasses_navbar_top");
  74. if(window==top) {
  75. allClassesLink.style.display = "block";
  76. }
  77. else {
  78. allClassesLink.style.display = "none";
  79. }
  80. //-->
  81. </script>
  82. </div>
  83. <div>
  84. <ul class="subNavList">
  85. <li>Summary:&nbsp;</li>
  86. <li>Nested&nbsp;|&nbsp;</li>
  87. <li><a href="#fields.inherited.from.class.org.opencv.features2d.DescriptorMatcher">Field</a>&nbsp;|&nbsp;</li>
  88. <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
  89. <li><a href="#method.summary">Method</a></li>
  90. </ul>
  91. <ul class="subNavList">
  92. <li>Detail:&nbsp;</li>
  93. <li>Field&nbsp;|&nbsp;</li>
  94. <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
  95. <li><a href="#method.detail">Method</a></li>
  96. </ul>
  97. </div>
  98. <a name="skip.navbar.top">
  99. <!-- -->
  100. </a></div>
  101. <!-- ========= END OF TOP NAVBAR ========= -->
  102. <!-- ======== START OF CLASS DATA ======== -->
  103. <div class="header">
  104. <div class="subTitle">org.opencv.features2d</div>
  105. <h2 title="Class BFMatcher" class="title">Class BFMatcher</h2>
  106. </div>
  107. <div class="contentContainer">
  108. <ul class="inheritance">
  109. <li>java.lang.Object</li>
  110. <li>
  111. <ul class="inheritance">
  112. <li><a href="../../../org/opencv/core/Algorithm.html" title="class in org.opencv.core">org.opencv.core.Algorithm</a></li>
  113. <li>
  114. <ul class="inheritance">
  115. <li><a href="../../../org/opencv/features2d/DescriptorMatcher.html" title="class in org.opencv.features2d">org.opencv.features2d.DescriptorMatcher</a></li>
  116. <li>
  117. <ul class="inheritance">
  118. <li>org.opencv.features2d.BFMatcher</li>
  119. </ul>
  120. </li>
  121. </ul>
  122. </li>
  123. </ul>
  124. </li>
  125. </ul>
  126. <div class="description">
  127. <ul class="blockList">
  128. <li class="blockList">
  129. <hr>
  130. <br>
  131. <pre>public class <span class="typeNameLabel">BFMatcher</span>
  132. extends <a href="../../../org/opencv/features2d/DescriptorMatcher.html" title="class in org.opencv.features2d">DescriptorMatcher</a></pre>
  133. <div class="block">Brute-force descriptor matcher.
  134. For each descriptor in the first set, this matcher finds the closest descriptor in the second set
  135. by trying each one. This descriptor matcher supports masking permissible matches of descriptor
  136. sets.</div>
  137. </li>
  138. </ul>
  139. </div>
  140. <div class="summary">
  141. <ul class="blockList">
  142. <li class="blockList">
  143. <!-- =========== FIELD SUMMARY =========== -->
  144. <ul class="blockList">
  145. <li class="blockList"><a name="field.summary">
  146. <!-- -->
  147. </a>
  148. <h3>Field Summary</h3>
  149. <ul class="blockList">
  150. <li class="blockList"><a name="fields.inherited.from.class.org.opencv.features2d.DescriptorMatcher">
  151. <!-- -->
  152. </a>
  153. <h3>Fields inherited from class&nbsp;org.opencv.features2d.<a href="../../../org/opencv/features2d/DescriptorMatcher.html" title="class in org.opencv.features2d">DescriptorMatcher</a></h3>
  154. <code><a href="../../../org/opencv/features2d/DescriptorMatcher.html#BRUTEFORCE">BRUTEFORCE</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#BRUTEFORCE_HAMMING">BRUTEFORCE_HAMMING</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#BRUTEFORCE_HAMMINGLUT">BRUTEFORCE_HAMMINGLUT</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#BRUTEFORCE_L1">BRUTEFORCE_L1</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#BRUTEFORCE_SL2">BRUTEFORCE_SL2</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#FLANNBASED">FLANNBASED</a></code></li>
  155. </ul>
  156. </li>
  157. </ul>
  158. <!-- ======== CONSTRUCTOR SUMMARY ======== -->
  159. <ul class="blockList">
  160. <li class="blockList"><a name="constructor.summary">
  161. <!-- -->
  162. </a>
  163. <h3>Constructor Summary</h3>
  164. <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
  165. <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
  166. <tr>
  167. <th class="colOne" scope="col">Constructor and Description</th>
  168. </tr>
  169. <tr class="altColor">
  170. <td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/features2d/BFMatcher.html#BFMatcher--">BFMatcher</a></span>()</code>
  171. <div class="block">Brute-force matcher constructor (obsolete).</div>
  172. </td>
  173. </tr>
  174. <tr class="rowColor">
  175. <td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/features2d/BFMatcher.html#BFMatcher-int-">BFMatcher</a></span>(int&nbsp;normType)</code>
  176. <div class="block">Brute-force matcher constructor (obsolete).</div>
  177. </td>
  178. </tr>
  179. <tr class="altColor">
  180. <td class="colOne"><code><span class="memberNameLink"><a href="../../../org/opencv/features2d/BFMatcher.html#BFMatcher-int-boolean-">BFMatcher</a></span>(int&nbsp;normType,
  181. boolean&nbsp;crossCheck)</code>
  182. <div class="block">Brute-force matcher constructor (obsolete).</div>
  183. </td>
  184. </tr>
  185. </table>
  186. </li>
  187. </ul>
  188. <!-- ========== METHOD SUMMARY =========== -->
  189. <ul class="blockList">
  190. <li class="blockList"><a name="method.summary">
  191. <!-- -->
  192. </a>
  193. <h3>Method Summary</h3>
  194. <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
  195. <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
  196. <tr>
  197. <th class="colFirst" scope="col">Modifier and Type</th>
  198. <th class="colLast" scope="col">Method and Description</th>
  199. </tr>
  200. <tr id="i0" class="altColor">
  201. <td class="colFirst"><code>static <a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a></code></td>
  202. <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/features2d/BFMatcher.html#Z:Z__fromPtr__-long-">__fromPtr__</a></span>(long&nbsp;addr)</code>&nbsp;</td>
  203. </tr>
  204. <tr id="i1" class="rowColor">
  205. <td class="colFirst"><code>static <a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a></code></td>
  206. <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/features2d/BFMatcher.html#create--">create</a></span>()</code>
  207. <div class="block">Brute-force matcher create method.</div>
  208. </td>
  209. </tr>
  210. <tr id="i2" class="altColor">
  211. <td class="colFirst"><code>static <a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a></code></td>
  212. <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/features2d/BFMatcher.html#create-int-">create</a></span>(int&nbsp;normType)</code>
  213. <div class="block">Brute-force matcher create method.</div>
  214. </td>
  215. </tr>
  216. <tr id="i3" class="rowColor">
  217. <td class="colFirst"><code>static <a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a></code></td>
  218. <td class="colLast"><code><span class="memberNameLink"><a href="../../../org/opencv/features2d/BFMatcher.html#create-int-boolean-">create</a></span>(int&nbsp;normType,
  219. boolean&nbsp;crossCheck)</code>
  220. <div class="block">Brute-force matcher create method.</div>
  221. </td>
  222. </tr>
  223. </table>
  224. <ul class="blockList">
  225. <li class="blockList"><a name="methods.inherited.from.class.org.opencv.features2d.DescriptorMatcher">
  226. <!-- -->
  227. </a>
  228. <h3>Methods inherited from class&nbsp;org.opencv.features2d.<a href="../../../org/opencv/features2d/DescriptorMatcher.html" title="class in org.opencv.features2d">DescriptorMatcher</a></h3>
  229. <code><a href="../../../org/opencv/features2d/DescriptorMatcher.html#add-java.util.List-">add</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#clear--">clear</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#clone--">clone</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#clone-boolean-">clone</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#create-java.lang.String-">create</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#empty--">empty</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#getTrainDescriptors--">getTrainDescriptors</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#isMaskSupported--">isMaskSupported</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#knnMatch-org.opencv.core.Mat-java.util.List-int-">knnMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#knnMatch-org.opencv.core.Mat-java.util.List-int-java.util.List-">knnMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#knnMatch-org.opencv.core.Mat-java.util.List-int-java.util.List-boolean-">knnMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#knnMatch-org.opencv.core.Mat-org.opencv.core.Mat-java.util.List-int-">knnMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#knnMatch-org.opencv.core.Mat-org.opencv.core.Mat-java.util.List-int-org.opencv.core.Mat-">knnMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#knnMatch-org.opencv.core.Mat-org.opencv.core.Mat-java.util.List-int-org.opencv.core.Mat-boolean-">knnMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#match-org.opencv.core.Mat-org.opencv.core.Mat-org.opencv.core.MatOfDMatch-">match</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#match-org.opencv.core.Mat-org.opencv.core.Mat-org.opencv.core.MatOfDMatch-org.opencv.core.Mat-">match</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#match-org.opencv.core.Mat-org.opencv.core.MatOfDMatch-">match</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#match-org.opencv.core.Mat-org.opencv.core.MatOfDMatch-java.util.List-">match</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#radiusMatch-org.opencv.core.Mat-java.util.List-float-">radiusMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#radiusMatch-org.opencv.core.Mat-java.util.List-float-java.util.List-">radiusMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#radiusMatch-org.opencv.core.Mat-java.util.List-float-java.util.List-boolean-">radiusMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#radiusMatch-org.opencv.core.Mat-org.opencv.core.Mat-java.util.List-float-">radiusMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#radiusMatch-org.opencv.core.Mat-org.opencv.core.Mat-java.util.List-float-org.opencv.core.Mat-">radiusMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#radiusMatch-org.opencv.core.Mat-org.opencv.core.Mat-java.util.List-float-org.opencv.core.Mat-boolean-">radiusMatch</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#read-java.lang.String-">read</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#train--">train</a>, <a href="../../../org/opencv/features2d/DescriptorMatcher.html#write-java.lang.String-">write</a></code></li>
  230. </ul>
  231. <ul class="blockList">
  232. <li class="blockList"><a name="methods.inherited.from.class.org.opencv.core.Algorithm">
  233. <!-- -->
  234. </a>
  235. <h3>Methods inherited from class&nbsp;org.opencv.core.<a href="../../../org/opencv/core/Algorithm.html" title="class in org.opencv.core">Algorithm</a></h3>
  236. <code><a href="../../../org/opencv/core/Algorithm.html#getDefaultName--">getDefaultName</a>, <a href="../../../org/opencv/core/Algorithm.html#getNativeObjAddr--">getNativeObjAddr</a>, <a href="../../../org/opencv/core/Algorithm.html#save-java.lang.String-">save</a></code></li>
  237. </ul>
  238. <ul class="blockList">
  239. <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
  240. <!-- -->
  241. </a>
  242. <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
  243. <code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
  244. </ul>
  245. </li>
  246. </ul>
  247. </li>
  248. </ul>
  249. </div>
  250. <div class="details">
  251. <ul class="blockList">
  252. <li class="blockList">
  253. <!-- ========= CONSTRUCTOR DETAIL ======== -->
  254. <ul class="blockList">
  255. <li class="blockList"><a name="constructor.detail">
  256. <!-- -->
  257. </a>
  258. <h3>Constructor Detail</h3>
  259. <a name="BFMatcher--">
  260. <!-- -->
  261. </a>
  262. <ul class="blockList">
  263. <li class="blockList">
  264. <h4>BFMatcher</h4>
  265. <pre>public&nbsp;BFMatcher()</pre>
  266. <div class="block">Brute-force matcher constructor (obsolete). Please use BFMatcher.create()</div>
  267. </li>
  268. </ul>
  269. <a name="BFMatcher-int-">
  270. <!-- -->
  271. </a>
  272. <ul class="blockList">
  273. <li class="blockList">
  274. <h4>BFMatcher</h4>
  275. <pre>public&nbsp;BFMatcher(int&nbsp;normType)</pre>
  276. <div class="block">Brute-force matcher constructor (obsolete). Please use BFMatcher.create()</div>
  277. <dl>
  278. <dt><span class="paramLabel">Parameters:</span></dt>
  279. <dd><code>normType</code> - automatically generated</dd>
  280. </dl>
  281. </li>
  282. </ul>
  283. <a name="BFMatcher-int-boolean-">
  284. <!-- -->
  285. </a>
  286. <ul class="blockListLast">
  287. <li class="blockList">
  288. <h4>BFMatcher</h4>
  289. <pre>public&nbsp;BFMatcher(int&nbsp;normType,
  290. boolean&nbsp;crossCheck)</pre>
  291. <div class="block">Brute-force matcher constructor (obsolete). Please use BFMatcher.create()</div>
  292. <dl>
  293. <dt><span class="paramLabel">Parameters:</span></dt>
  294. <dd><code>normType</code> - automatically generated</dd>
  295. <dd><code>crossCheck</code> - automatically generated</dd>
  296. </dl>
  297. </li>
  298. </ul>
  299. </li>
  300. </ul>
  301. <!-- ============ METHOD DETAIL ========== -->
  302. <ul class="blockList">
  303. <li class="blockList"><a name="method.detail">
  304. <!-- -->
  305. </a>
  306. <h3>Method Detail</h3>
  307. <a name="Z:Z__fromPtr__-long-">
  308. <!-- -->
  309. </a>
  310. <ul class="blockList">
  311. <li class="blockList">
  312. <h4>__fromPtr__</h4>
  313. <pre>public static&nbsp;<a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a>&nbsp;__fromPtr__(long&nbsp;addr)</pre>
  314. </li>
  315. </ul>
  316. <a name="create--">
  317. <!-- -->
  318. </a>
  319. <ul class="blockList">
  320. <li class="blockList">
  321. <h4>create</h4>
  322. <pre>public static&nbsp;<a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a>&nbsp;create()</pre>
  323. <div class="block">Brute-force matcher create method.
  324. preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and
  325. BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4 (see ORB::ORB constructor
  326. description).
  327. nearest neighbors for each query descriptor. If crossCheck==true, then the knnMatch() method with
  328. k=1 will only return pairs (i,j) such that for i-th query descriptor the j-th descriptor in the
  329. matcher's collection is the nearest and vice versa, i.e. the BFMatcher will only return consistent
  330. pairs. Such technique usually produces best results with minimal number of outliers when there are
  331. enough matches. This is alternative to the ratio test, used by D. Lowe in SIFT paper.</div>
  332. <dl>
  333. <dt><span class="returnLabel">Returns:</span></dt>
  334. <dd>automatically generated</dd>
  335. </dl>
  336. </li>
  337. </ul>
  338. <a name="create-int-">
  339. <!-- -->
  340. </a>
  341. <ul class="blockList">
  342. <li class="blockList">
  343. <h4>create</h4>
  344. <pre>public static&nbsp;<a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a>&nbsp;create(int&nbsp;normType)</pre>
  345. <div class="block">Brute-force matcher create method.</div>
  346. <dl>
  347. <dt><span class="paramLabel">Parameters:</span></dt>
  348. <dd><code>normType</code> - One of NORM_L1, NORM_L2, NORM_HAMMING, NORM_HAMMING2. L1 and L2 norms are
  349. preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and
  350. BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4 (see ORB::ORB constructor
  351. description).
  352. nearest neighbors for each query descriptor. If crossCheck==true, then the knnMatch() method with
  353. k=1 will only return pairs (i,j) such that for i-th query descriptor the j-th descriptor in the
  354. matcher's collection is the nearest and vice versa, i.e. the BFMatcher will only return consistent
  355. pairs. Such technique usually produces best results with minimal number of outliers when there are
  356. enough matches. This is alternative to the ratio test, used by D. Lowe in SIFT paper.</dd>
  357. <dt><span class="returnLabel">Returns:</span></dt>
  358. <dd>automatically generated</dd>
  359. </dl>
  360. </li>
  361. </ul>
  362. <a name="create-int-boolean-">
  363. <!-- -->
  364. </a>
  365. <ul class="blockListLast">
  366. <li class="blockList">
  367. <h4>create</h4>
  368. <pre>public static&nbsp;<a href="../../../org/opencv/features2d/BFMatcher.html" title="class in org.opencv.features2d">BFMatcher</a>&nbsp;create(int&nbsp;normType,
  369. boolean&nbsp;crossCheck)</pre>
  370. <div class="block">Brute-force matcher create method.</div>
  371. <dl>
  372. <dt><span class="paramLabel">Parameters:</span></dt>
  373. <dd><code>normType</code> - One of NORM_L1, NORM_L2, NORM_HAMMING, NORM_HAMMING2. L1 and L2 norms are
  374. preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and
  375. BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4 (see ORB::ORB constructor
  376. description).</dd>
  377. <dd><code>crossCheck</code> - If it is false, this is will be default BFMatcher behaviour when it finds the k
  378. nearest neighbors for each query descriptor. If crossCheck==true, then the knnMatch() method with
  379. k=1 will only return pairs (i,j) such that for i-th query descriptor the j-th descriptor in the
  380. matcher's collection is the nearest and vice versa, i.e. the BFMatcher will only return consistent
  381. pairs. Such technique usually produces best results with minimal number of outliers when there are
  382. enough matches. This is alternative to the ratio test, used by D. Lowe in SIFT paper.</dd>
  383. <dt><span class="returnLabel">Returns:</span></dt>
  384. <dd>automatically generated</dd>
  385. </dl>
  386. </li>
  387. </ul>
  388. </li>
  389. </ul>
  390. </li>
  391. </ul>
  392. </div>
  393. </div>
  394. <!-- ========= END OF CLASS DATA ========= -->
  395. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  396. <div class="bottomNav"><a name="navbar.bottom">
  397. <!-- -->
  398. </a>
  399. <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
  400. <a name="navbar.bottom.firstrow">
  401. <!-- -->
  402. </a>
  403. <ul class="navList" title="Navigation">
  404. <li><a href="../../../overview-summary.html">Overview</a></li>
  405. <li><a href="package-summary.html">Package</a></li>
  406. <li class="navBarCell1Rev">Class</li>
  407. <li><a href="package-tree.html">Tree</a></li>
  408. <li><a href="../../../index-all.html">Index</a></li>
  409. <li><a href="../../../help-doc.html">Help</a></li>
  410. </ul>
  411. <div class="aboutLanguage">
  412. <script>
  413. var url = window.location.href;
  414. var pos = url.lastIndexOf('/javadoc/');
  415. url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
  416. var script = document.createElement('script');
  417. script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
  418. document.getElementsByTagName('head')[0].appendChild(script);
  419. </script>
  420. </div>
  421. </div>
  422. <div class="subNav">
  423. <ul class="navList">
  424. <li><a href="../../../org/opencv/features2d/AKAZE.html" title="class in org.opencv.features2d"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
  425. <li><a href="../../../org/opencv/features2d/BOWImgDescriptorExtractor.html" title="class in org.opencv.features2d"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
  426. </ul>
  427. <ul class="navList">
  428. <li><a href="../../../index.html?org/opencv/features2d/BFMatcher.html" target="_top">Frames</a></li>
  429. <li><a href="BFMatcher.html" target="_top">No&nbsp;Frames</a></li>
  430. </ul>
  431. <ul class="navList" id="allclasses_navbar_bottom">
  432. <li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
  433. </ul>
  434. <div>
  435. <script type="text/javascript"><!--
  436. allClassesLink = document.getElementById("allclasses_navbar_bottom");
  437. if(window==top) {
  438. allClassesLink.style.display = "block";
  439. }
  440. else {
  441. allClassesLink.style.display = "none";
  442. }
  443. //-->
  444. </script>
  445. </div>
  446. <div>
  447. <ul class="subNavList">
  448. <li>Summary:&nbsp;</li>
  449. <li>Nested&nbsp;|&nbsp;</li>
  450. <li><a href="#fields.inherited.from.class.org.opencv.features2d.DescriptorMatcher">Field</a>&nbsp;|&nbsp;</li>
  451. <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
  452. <li><a href="#method.summary">Method</a></li>
  453. </ul>
  454. <ul class="subNavList">
  455. <li>Detail:&nbsp;</li>
  456. <li>Field&nbsp;|&nbsp;</li>
  457. <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
  458. <li><a href="#method.detail">Method</a></li>
  459. </ul>
  460. </div>
  461. <a name="skip.navbar.bottom">
  462. <!-- -->
  463. </a></div>
  464. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  465. <p class="legalCopy"><small>Generated on 2023-06-28 12:47:21 / OpenCV 4.8.0</small></p>
  466. </body>
  467. </html>