cv图像识别

安卓opencv全分辨率找图


bitBlt 贴图拷贝

<p>[TOC]</p> <h5>简要描述</h5> <ul> <li>bitBlt可以进行图像块拷贝,从一幅图像中裁剪指定大小图像块,拷贝贴图到另一幅图像中。并可设置阿尔法权重,亮度校正。可用于:制作长图、logo水印</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 style="text-align: center;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">mat1</td> <td style="text-align: left;">是</td> <td style="text-align: left;">mat</td> <td style="text-align: center;">贴图目标mat</td> </tr> <tr> <td style="text-align: left;">x1</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">贴图左上角x(应大于 -1)</td> </tr> <tr> <td style="text-align: left;">y1</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">贴图左上角y (应大于 -1)</td> </tr> <tr> <td style="text-align: left;">x2</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">贴图右下角x,为-1时,表示缺省大小。否则将对裁剪图进行缩放。以迎合参数设置</td> </tr> <tr> <td style="text-align: left;">y2</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">贴图右下角y,为-1时,表示缺省大小。否则将对裁剪图进行缩放。以迎合参数设置</td> </tr> <tr> <td style="text-align: left;">mat2</td> <td style="text-align: left;">是</td> <td style="text-align: left;">mat</td> <td style="text-align: center;">裁剪目标mat</td> </tr> <tr> <td style="text-align: left;">sx1</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">裁剪左上角x (应大于 -1)</td> </tr> <tr> <td style="text-align: left;">sy1</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">裁剪左上角y (应大于 -1)</td> </tr> <tr> <td style="text-align: left;">sx2</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">裁剪右下角x,为-1时,表示缺省大小。</td> </tr> <tr> <td style="text-align: left;">sy2</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: center;">裁剪右下角y,为-1时,表示缺省大小。</td> </tr> <tr> <td style="text-align: left;">alpha</td> <td style="text-align: left;">是</td> <td style="text-align: left;">double</td> <td style="text-align: center;">裁剪图贴到目标图像上时的混合权重,0-1之间。</td> </tr> <tr> <td style="text-align: left;">gamma</td> <td style="text-align: left;">是</td> <td style="text-align: left;">double</td> <td style="text-align: center;">亮度校正值。</td> </tr> </tbody> </table> <h5>返回参数说明</h5> <p>boolean</p> <h5>示例(图像色调调整)</h5> <pre><code class="language-java"> //载入动漫图像。 var mat=cvImg.loadFromFile("/sdcard/Pictures/t2.png"); //创建一个大小与动漫图大小、类型一至的图像。 var mat_color=cvImg.zeros(mat.cols(),mat.rows(),mat.type()); //使用绘制矩形方法,给图像填充指定颜色(粉红)。 cvImg.rectangle(mat_color,0,0,mat.cols(),mat.rows(),[250,103,107,0]); //使用bitBlt进行贴图。 cvImg.bitBlt(mat,0,0,-1,-1,mat_color,0,0,-1,-1,0.2,0); //保存结果到文件。 cvImg.toFile(mat,"/sdcard/Pictures/tem1.jpg"); //释放 cvImg.release(mat); cvImg.release(mat_color);</code></pre> <p>原图 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=64b0025d2bba120fef892bb28dc5f91e&amp;file=file.png" alt="" /></p> <p>上粉色色调(透明权重混合)</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=09dc955b75951d2a0f2ecc32ccbbac86&amp;file=file.jpg" alt="" /></p> <h5>示例 (制作长图)</h5> <p>由于资源有限,无法上传尺寸过大的图像。制作长图的方法根以上操作类似,先使用zeros创建一个长图的模板,然后使用bitBlt往这个模板贴图就行了,你仅仅需要通过参数控制贴图范围。alpha参数绝对了贴图透明度,当不需要透明度时,alpha的值应该设置为1。以下做个小的演示:</p> <pre><code class="language-java"> //载入动漫图像。 var mat=cvImg.loadFromFile("/sdcard/Pictures/mat_50.png"); //创建一个长图模板300*1200 var mat_long=cvImg.zeros(cvImg.getWidth(mat),1200,16); //使用bitBlt从动漫图像裁剪图色块 300*200 ,拷贝到长图模板。 for(var i=0;i&lt;1200/200;i++){ cvImg.bitBlt(mat_long,0,i*200,-1,-1,mat,0,0,-1,-1,1,0); } //保存结果到文件。 cvImg.toFile(mat_long,"/sdcard/Pictures/tem1.jpg"); //释放 cvImg.release(mat); cvImg.release(mat_long);</code></pre> <p>动漫原图, <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=94f0a70b35bad31e1590da23cbeef121&amp;file=file.png" alt="" /></p> <p>制作生成的长图。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=d2f44dc3d2885b52412e43afa466f20f&amp;file=file.jpg" alt="" /></p>

页面列表

ITEM_HTML