cv图像识别

安卓opencv全分辨率找图


hashCodeP 感知hash算法

<p>[TOC]</p> <h5>简要描述</h5> <ul> <li>hashCodeP 感知hash算法,返回hash值。该算法主要应用于通过缩略图来寻找原图 <strong>V 2.1.2 以及以上版本可用</strong></li> </ul> <h5>参数</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">mat</td> <td style="text-align: left;">是</td> <td style="text-align: left;">mat</td> <td>欲转换的mat对象</td> </tr> <tr> <td style="text-align: left;">dctSize</td> <td style="text-align: left;">(可选)</td> <td style="text-align: left;">int</td> <td>DCT运算时,图片采样大小.默认=32。可以为8、32、64 最小为8. 值越大,精确度越高,效率越低。</td> </tr> <tr> <td style="text-align: left;">dataSize</td> <td style="text-align: left;">(可选)</td> <td style="text-align: left;">int</td> <td>DCT运算后,DCT数据采样大小。默认=8。 该参数是测试用,不懂原理的朋友此参数无需你填写</td> </tr> </tbody> </table> <h5>返回参数说明</h5> <p>String 返回二进制字符值。可使用汉明距离算法,进行相似度判断</p> <p>返回样例: 1100001011100100001011011000100001111000010100101010000100101000</p> <h5>判断两图相似例子。</h5> <pre><code class="language-java">//载入两张图 var mat_1=cvImg.loadFromFile('/sdcard/Pictures/f1.png',1); var mat_2=cvImg.loadFromFile('/sdcard/Pictures/f2.png',1); //计算两张图hash 感知DCT var hash_1=cvImg.hashCodeP(mat_1); var hash_2=cvImg.hashCodeP(mat_2); logd(hash_1); logd(hash_2); //计算汉明距离 var hm=cvImg.hanmingDistance(hash_1,hash_2); logd(hm) //DCT后,采样核=8 8*8=64 计算距离百分比。 logd("图片相似度:",(64-hm)/64);</code></pre> <h4>例如:以下2图的相似度在0.79左右</h4> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=fd52fe670ec7c60ce4f38531060d2c14&amp;file=file.png" alt="" /></p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=40a81073b7a0e1fc11dccfcb3dd85177&amp;file=file.png" alt="" /></p>

页面列表

ITEM_HTML