图色函数
<p>[TOC]</p>
<h1>readScreenA 截图</h1>
<ul>
<li>截取屏幕Bitmap对象
<pre><code class="language-javascript">//截图Bitmap
bitmap=picUtil.readScreenA()
//保存到手机
BitmapUtil.save(&quot;/sdcard/截图1.jpg&quot;,bitmap)</code></pre></li>
</ul>
<h1>BitmapUtil.save 保存到文件</h1>
<ul>
<li>保存到文件中- </li>
<li>@param path 路径</li>
<li>@param bitmap 图片</li>
<li>@return bool true代表成功,false 代表失败
<pre><code class="language-javascript">//截图Bitmap
bitmap=picUtil.readScreenA()
//保存到手机
BitmapUtil.save(&quot;/sdcard/截图1.jpg&quot;,bitmap)</code></pre></li>
</ul>
<h1>picUtil.readScreenAB64 截图jpg</h1>
<ul>
<li>截图jpg的BASE64编码</li>
<li>@return {string} base64字符串 截图成功返回jpg图片的BASE64编码
<pre><code class="language-javascript">//截图并转为jpg再转为base64字符串
str=picUtil.readScreenAB64()
//base64字符串转换成Bitmap类型
bitmap=stringtoBitmap(str);
//保存到手机
BitmapUtil.save(&quot;/sdcard/截图1.jpg&quot;,bitmap)</code></pre></li>
</ul>
<h1>picUtil.readScreenAB64png截图png</h1>
<ul>
<li>截图jpg的BASE64编码</li>
<li>@return {string} base64字符串 截图j成功返回jpg图片的BASE64编码
<pre><code class="language-javascript">//截图并转为png再转为base64字符串
str=picUtil.readScreenAB64png()
//base64字符串转换成Bitmap类型
bitmap=stringtoBitmap(str);
//保存到手机
BitmapUtil.save(&quot;/sdcard/截图1.png&quot;,bitmap)</code></pre></li>
</ul>
<h1>stringtoBitmap base64还原Bitmap</h1>
<ul>
<li>base64字符串转换成Bitmap类型</li>
<li>@return {bitmap}
<pre><code class="language-javascript">//截图并转为jpg再转为base64字符串
str=picUtil.readScreenAB64()
//base64字符串转换成Bitmap类型
bitmap=stringtoBitmap(str);
//保存到手机
BitmapUtil.save(&quot;/sdcard/截图1.jpg&quot;,bitmap)</code></pre></li>
</ul>
<h1>BitmapUtil.read 读取文件为Bitmap</h1>
<ul>
<li>读取文件为Bitmap</li>
<li>@param path 路径</li>
<li>
<p>@return {bitmap}</p>
<pre><code class="language-javascript">bitmap=BitmapUtil.read(&quot;/sdcard/截图1.jpg&quot;)
</code></pre>
</li>
</ul>
<h1>picUtil.cap 区域截图</h1>
<ul>
<li>区域截图 成功返回bitmap</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@return {bitmap}
<pre><code class="language-javascript">bitmap = picUtil.cap(100,100,300,400);</code></pre></li>
</ul>
<h1>picUtil.capA 区域截图</h1>
<ul>
<li>区域截图 成功返回bitmap</li>
<li>@param bitmap 要截的图片</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@return {bitmap}
<pre><code class="language-javascript">bitmap1=BitmapUtil.read(&quot;/sdcard/截图1.jpg&quot;)
bitmap = picUtil.capA(bitmap1,100,100,300,400);</code></pre></li>
</ul>
<h1>picUtil.capB64 区域截图jpg的base64字符串</h1>
<ul>
<li>区域截图 成功返回base64字符串</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@return {string}
<pre><code class="language-javascript">base64 = picUtil.capB64(100,100,300,400);</code></pre></li>
</ul>
<h1>picUtil.capB64png 区域截图png的base64字符串</h1>
<ul>
<li>区域截图 成功返回base64字符串</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@return {string}
<pre><code class="language-javascript">base64 = picUtil.capB64png(100,100,300,400);</code></pre></li>
</ul>
<h1>picUtil.findMultiColor 多点找色</h1>
<ul>
<li>多点找色</li>
<li>@param bitmap图片</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@param firstColor 第一个点的颜色 如 "f4c51f-101010"</li>
<li>@param offsetColor 字符串类似这样 “-3|3|f4c51f-101010,17|-7|000000-101010,-3|-36|f4c51f-101010”</li>
<li>@param sim 颜色相似度取值为 0.0 ~ 1.0</li>
<li>
<p>@return {string} 找到返回json字符串,没找到返回null</p>
<pre><code class="language-javascript">//截图Bitmap
bitmap=picUtil.readScreenA()
//多点找色
json= picUtil.findMultiColor(bitmap,186,164,438,390,&quot;f4c51f-101010&quot;,&quot;-3|3|f4c51f-101010,17|-7|000000-101010,-3|-36|f4c51f-101010&quot;,0.98);
//找到返回:
//{&quot;x&quot;:274,&quot;y&quot;:260,&quot;name&quot;:&quot;f4c51f-101010&quot;}</code></pre>
</li>
</ul>
<h1>picUtil.findMultiColorEx 多点找色Ex</h1>
<ul>
<li>多点找色Ex</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@param firstColor 第一个点的颜色 如 "f4c51f-101010"</li>
<li>@param offsetColor 字符串类似这样 “-3|3|f4c51f-101010,17|-7|000000-101010,-3|-36|f4c51f-101010”</li>
<li>@param sim 颜色相似度取值为 0.0 ~ 1.0</li>
<li>@param timeout 毫秒,查找时长,如果为-1表示不刷新截图</li>
<li>
<p>@return {string} 找到返回json字符串,没找到返回null</p>
<pre><code class="language-javascript">
//多点找色Ex
json= picUtil.findMultiColorEx(186,164,438,390,&quot;f4c51f-101010&quot;,&quot;-3|3|f4c51f-101010,17|-7|000000-101010,-3|-36|f4c51f-101010&quot;,0.98,1000);
//找到返回:
//{&quot;x&quot;:274,&quot;y&quot;:260,&quot;name&quot;:&quot;f4c51f-101010&quot;}</code></pre>
</li>
</ul>
<h1>picUtil.findimg 找图</h1>
<ul>
<li>找图</li>
<li>@param Bitmap bigimg 大图</li>
<li>@param Bitmap smallimg 小图</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@param offset 偏色</li>
<li>@param sim 相似度取值为 0.0 ~ 1.0</li>
<li>
<p>@return JSONArray</p>
<pre><code class="language-javascript">//截图Bitmap
大图=picUtil.readScreenA()
//读入小图
小图=picUtil.read(&quot;/sdcard/登录.jpg&quot;);
jsonstr=picUtil.findimg(大图,小图,186,164,438,390,0x101010,0.9);
</code></pre>
<h1>picUtil.findimg 找图</h1>
</li>
<li>屏幕找图</li>
<li>@param path{string} 小图路径,如:"/sdcard/登录.jpg"</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@param offset 偏色</li>
<li>@param sim 相似度取值为 0.0 ~ 1.0</li>
<li>
<p>@return JSONArray</p>
<pre><code class="language-javascript">
jsonstr=picUtil.findimg(&quot;/sdcard/登录.jpg&quot;,186,164,438,390,0x101010,0.9);
</code></pre>
</li>
</ul>
<h1>picUtil.setpic 设置小图</h1>
<ul>
<li>设置小图,设置图片名称,找图要用的的图片名称,每个小图设置一次就可以了</li>
<li>@param str{string} 手机上的图片路径或者图片的base64字符串</li>
<li>@param name 图片名称,找图要用的的图片名称</li>
<li>
<p>@return bool true成功,false失败</p>
<pre><code class="language-javascript">//从手机上图片路径
b=picUtil.setpic(&quot;/sdcard/登录.jpg&quot;,&quot;登录&quot;);
//从手机上读入图片
bitmap1=BitmapUtil.read(&quot;/sdcard/开始.jpg&quot;)
//bitmap图片编码为Base64字符串
base64=picUtil.bitmapToBase64(bitmap1,&quot;jpg&quot;);
b=picUtil.setpic(base64,&quot;开始&quot;);
</code></pre>
</li>
</ul>
<h1>picUtil.setpicfromzip 从zip加载小图</h1>
<ul>
<li>从zip加载小图,设置图片名称,找图要用的的图片名称</li>
<li>@param str{string} zip文件路径</li>
<li>
<p>@return bool true成功,false失败</p>
<pre><code class="language-javascript">b=picUtil.setpicfromzip(&quot;/sdcard/图片资源.zip&quot;);
</code></pre>
</li>
</ul>
<h1>picUtil.readImgkeys取图片名列表</h1>
<ul>
<li>取图片名列表</li>
<li>
<p>@return JSONArray</p>
<pre><code class="language-javascript">l=picUtil.readImgkeys()
</code></pre>
</li>
</ul>
<h1>picUtil.findimgEx 找图Ex</h1>
<ul>
<li>屏幕找图Ex</li>
<li>@param name{string} 需先设置图片名,多个图片用|,如:小图1|小图2|小图3</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@param offset 偏色</li>
<li>@param sim 相似度取值为 0.0 ~ 1.0</li>
<li>@param timeout 毫秒,查找时长,如果为-1表示不刷新截图</li>
<li>
<p>@return {string} 找到返回json字符串,没找到返回null</p>
<pre><code class="language-javascript">//设置小图,每个小图设置一次
picUtil.setpic(&quot;/sdcard/登录.jpg&quot;,&quot;登录&quot;);
//这里图片名为:&quot;登录&quot;,查找5000毫秒
jsonstr=picUtil.findimgEx(&quot;登录&quot;,186,164,438,390,0x101010,0.9,5000);
//一次找多图
jsonstr=picUtil.findimgEx(&quot;小图1|小图2|小图3&quot;,186,164,438,390,0x101010,0.9,5000);
</code></pre>
</li>
</ul>
<h1>tocr_网络加载So</h1>
<ul>
<li>tesseract ocr识别 下载so文件到手机/sdcard/jsd/libs/</li>
<li>@param name{string} cpu类型 :arm64-v8a,armeabi-v7a,x86_64,x86</li>
<li>@return bool true成功,false失败
<pre><code>picUtil.tocr.网络加载So(&quot;x86_64&quot;)</code></pre></li>
</ul>
<h1>tocr_网络加载资源</h1>
<ul>
<li>tesseract ocr识别 下载chi_sim.traineddata文件到手机</li>
<li>@param tessdata{string} 数据集的文件夹路径,路径结尾必须是tessdata,比如空默认为 "/sdcard/tessdata"</li>
<li>@return bool true成功,false失败
<pre><code>picUtil.tocr.网络加载资源(&quot;/sdcard/tessdata&quot;)</code></pre></li>
</ul>
<h1>picUtil.tocr.initOcr tocr_初始化</h1>
<ul>
<li>tocr_初始化</li>
<li>@param datapath{string} 数据集的文件夹路径,路径结尾必须是tessdata,比如空默认为 "/sdcard/tessdata"</li>
<li>@param language{string} 例如 chi_sim.traineddata 代表是中文简体语言,参数就填写 chi_sim, 多个数据集用+号,例如 "chi_sim+eng"</li>
<li>@return bool true成功,false失败
<pre><code>picUtil.tocr.initOcr(&quot;/sdcard/tessdata&quot;,&quot;chi_sim&quot;)</code></pre></li>
</ul>
<h1>picUtil.tesseractOcr tocr_识别</h1>
<ul>
<li>
<p>对屏幕进行OCR </p>
<ul>
<li>@param sx {number?} 起始坐标x 默认0</li>
<li>@param sy {number?} 起始坐标Y 默认0</li>
<li>@param ex {number?} 终点坐标x 默认0</li>
<li>@param ey {number?} 终点坐标Y 默认0</li>
<li>@param confidence {number?} 置信度 0~100,默认70</li>
<li>@param pageIteratorLevel {number?} 返回模式 0~4,决定返回值内容形式 默认3</li>
<li>@param flag {boolean?} 在无法识别完整句子时,是否返回片段,默认ture</li>
<li>0 文本/图像/分隔线块</li>
<li>1 块中的段落</li>
<li>2 段落中的行</li>
<li>3 文本行中的单词</li>
<li>4 单词中的符号/字符</li>
<li>return {ArrayList[]} 返回Rect2数组或者null
<pre><code>
str=picUtil.tesseractOcr(186,164,438,390,70,3,ture)</code></pre></li>
</ul>
<pre><code></code></pre>
</li>
</ul>
<h1>OpenCV_网络加载So</h1>
<ul>
<li>OpenCV_网络加载So 下载so文件到手机/sdcard/jsd/libs/</li>
<li>@param name{string} cpu类型 :arm64-v8a,armeabi-v7a,x86_64,x86</li>
<li>@return bool true成功,false失败
<pre><code>picUtil.opencvloadLib(&quot;x86_64&quot;)</code></pre></li>
</ul>
<h1>picUtil.opencvinit OpenCV_初始化</h1>
<ul>
<li>OpenCV加载So </li>
<li>@return {string} 返回ok 表示成功 其它为失败
<pre><code>picUtil.opencvinit()</code></pre></li>
</ul>
<h1>picUtil.opencvfindpic 找图CV</h1>
<ul>
<li>OpenCV 模板matchTemplate 成功返回 json格式文本 失败返回null</li>
<li>@param name{string} 需先设置图片名,多个图片用|,如:小图1|小图2|小图3</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@param sim 相似度取值为 0.0 ~ 1.0</li>
<li>@param timeout 毫秒,查找时长,如果为-1表示不刷新截图</li>
<li>
<p>@return {string} 找到返回json字符串,没找到返回null</p>
<pre><code class="language-javascript">//设置小图,每个小图设置一次
picUtil.setpic(&quot;/sdcard/登录.jpg&quot;,&quot;登录&quot;);
//这里图片名为:&quot;登录&quot;,查找5000毫秒
jsonstr=picUtil.opencvfindpic(&quot;登录&quot;,186,164,438,390,0.9,5000);
//一次找多图
jsonstr=picUtil.opencvfindpic(&quot;小图1|小图2|小图3&quot;,186,164,438,390,0.9,5000);
</code></pre>
</li>
</ul>
<h1>picUtil.opencvfindpic 找图CV</h1>
<ul>
<li>OpenCV 模板matchTemplate 成功返回 json格式文本 失败返回null</li>
<li>@param bigimg{Bitmap} 大图</li>
<li>@param smallimg{Bitmap} 小图</li>
<li>@param x x起始坐标</li>
<li>@param y y起始坐标</li>
<li>@param ex 终点X坐标</li>
<li>@param ey 终点Y坐标</li>
<li>@param sim 相似度取值为 0.0 ~ 1.0</li>
<li>
<p>@return {string} 找到返回json字符串,没找到返回null</p>
<pre><code class="language-javascript">//设置小图,每个小图设置一次
picUtil.setpic(&quot;/sdcard/登录.jpg&quot;,&quot;登录&quot;);
//这里图片
jsonstr=picUtil.opencvfindpic(bigimg,smallimg,186,164,438,390,0.9);
</code></pre>
</li>
</ul>