cv图像识别

安卓opencv全分辨率找图


derode 低通平滑图像(腐蚀)

<p>[TOC]</p> <h5>简要描述</h5> <ul> <li>低通滤波器。腐蚀</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;">kw,kh</td> <td style="text-align: left;">(可选)</td> <td style="text-align: left;">int</td> <td>积卷核大小,通常,3x3\5x5</td> </tr> <tr> <td style="text-align: left;">kernel_type</td> <td style="text-align: left;">(可选)</td> <td style="text-align: left;">int</td> <td>积卷核类型、形状。0、MORPH RECT:矩形。</br>1、MORPH CROSS:十字交又。</br>2、MORPH ELLIPSE:椭圆或者圆形。</td> </tr> </tbody> </table> <h5>返回参数说明</h5> <p>mat | null</p> <h5>示例</h5> <pre><code class="language-java">//载入动漫图像 var mat=cvImg.loadFromFile("/sdcard/Pictures/t5.png"); var y=cvImg.getHeight(mat); var x=cvImg.getWidth(mat); //3*3 积卷 var mat_均值滤波=cvImg.blur(mat,9,9); cvImg.drawText(mat_均值滤波,"均值滤波 9*9 积卷",x/3,y-20,22,[255,255,0,255]); var mat_高斯滤波=cvImg.blurGaussian (mat,9,9,-1,-1,4); cvImg.drawText(mat_高斯滤波,"高斯滤波 9*9 积卷",x/3,y-20,22,[255,255,0,255]); var mat_中值滤波=cvImg.blurMedian (mat,9); cvImg.drawText(mat_中值滤波,"中值滤波 9*9 积卷",x/3,y-20,22,[255,255,0,255]); var mat_高通滤波=cvImg.dilate (mat,9,9,0); cvImg.drawText(mat_高通滤波,"高通滤波 9*9 积卷",x/3,y-20,22,[255,255,0,255]); var mat_低通滤波=cvImg.derode (mat,9,9,0); cvImg.drawText(mat_低通滤波,"低通滤波 9*9 积卷",x/3,y-20,22,[255,255,0,255]); var mat_高斯双边滤波=cvImg.bilateralFilter (mat,0,150,20); cvImg.drawText(mat_高斯双边滤波,"高斯双边 颜权:150 空权:20 ",10,y-20,22,[255,255,0,255]); var mat_均值迁移=cvImg.pyrMeanShiftFiltering (mat,10,50); cvImg.drawText(mat_均值迁移,"均值迁移 彩空 10 范围 50",10,y-20,22,[255,255,0,255]); var mat_自定义滤波=cvImg.filter2D (mat,-1,3,3,[ 0,-1,0, -1,5,-1, 0,-1,0 ]); cvImg.drawText(mat_自定义滤波,"自定义滤波,算子",10,y-20,22,[255,255,0,255]); //加到组 var matArr=[mat_均值滤波,mat_高斯滤波,mat_中值滤波,mat_高通滤波,mat_低通滤波,mat_高斯双边滤波,mat_均值迁移,mat_自定义滤波] //创建空mat var mat_out=cvImg.zeros(cvImg.getWidth(mat)*2,cvImg.getHeight(mat)*matArr.length,cvImg.getType(mat)); //原图写字 cvImg.drawText(mat,"原图",x/3,y-20,22,[255,255,0,255]); for(let i=0;i&lt;matArr.length;i++){ cvImg.bitBlt(mat_out,0,i*cvImg.getHeight(mat),-1,-1,matArr[i],0,0,-1,-1,1,0);//处理后的图 cvImg.bitBlt(mat_out,cvImg.getWidth(mat),i*cvImg.getHeight(mat),-1,-1,mat,0,0,-1,-1,1,0);//原图 cvImg.release(matArr[i]) } //保存到文件 cvImg.toFile(mat_out,"/sdcard/Pictures/tem1.jpg"); //释放 cvImg.release(mat); cvImg.release(mat_out); </code></pre> <p>结果,各个滤波都有不同的特性,在图片处理领域是极其重要的存在! <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=8c49100ddd80e1d680d187cd8e09ac9a&amp;file=file.jpg" alt="" /></p>

页面列表

ITEM_HTML