cv图像识别

安卓opencv全分辨率找图


zhangSuen 骨架提取算法

<p>[TOC]</p> <h5>简要描述</h5> <ul> <li>zhangSuen 骨架提取算法。在图像特征识别领域很有作用。配合轮廓提取、连通域提取可获得骨架详细信息 <strong>V 2.1.2 以及以上版本可用</strong></li> </ul> <p>【该算法在JAVA代码层做了高度优化,只能提取前景色必须为白色的骨架,如果为黑色,请先使用not方法,取反后再输入】</p> <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对象 必须cv_8UC1 格式</td> </tr> </tbody> </table> <h5>返回参数说明</h5> <p>mat | null</p> <h5>提取骨架</h5> <pre><code class="language-java"> //载入图 var mat_1=cvImg.loadFromFile('/sdcard/Pictures/t1.png',1); //转到灰度 var mat_gray=cvImg.toGray(mat_1); //二值化 var mat_two=cvImg.threshold(mat_gray,0,100,255); //骨架提取 var mat_骨架图=cvImg.zhangSuen(mat_two); //保存到文件 cvImg.toFile(mat_骨架图,'/sdcard/Pictures/骨架图.png');</code></pre> <p>原图: <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=4cd7fa101c38d3fa3c8de7de7fbebfd4&amp;file=file.png" alt="" /></p> <p>提取后: <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=814d663d1148adee77344e545e533645&amp;file=file.png" alt="" /></p> <h5>提取骨架(前景为黑色时,先取反后提取)</h5> <pre><code class="language-java"> //载入图 var mat_1=cvImg.loadFromFile('/sdcard/Pictures/t4.png',1); //转到灰度 var mat_gray=cvImg.toGray(mat_1); //二值化 var mat_two=cvImg.threshold(mat_gray,0,100,255); //如果前景色是黑色,则取反运算一次,将前景和背景对调。 var mat_not=cvImg.not(mat_two) //骨架提取 var mat_骨架图=cvImg.zhangSuen(mat_not); //保存到文件 cvImg.toFile(mat_骨架图,'/sdcard/Pictures/骨架图.png');</code></pre> <p>原图 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=d5cb9d80ca4fe76f39a4293e1f1fbed4&amp;file=file.png" alt="" /></p> <p>提取骨架后(提取骨架后,如果想把前景和背景还原回去,这个输出图,可以再次进行一个not运算还原) <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=235bd02357fc1e7e527da3ee7c116082&amp;file=file.png" alt="" /></p>

页面列表

ITEM_HTML