c5_labsci/fapp/ciyon_ap/pages/demo/comview/cameraocr.vue

136 lines
4.0 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<ciy-header ref="header" title="ciy-aicameraocr组件"></ciy-header>
<view>
<view class="ciy-card">
<view class="title">实时OCR识别</view>
<view class="content">
点击后置摄像头支持png线框蒙版<br />
支持身份证自动校正身份证完整性检查<br />
识别后在图上点击识别块可复制文字<br />
</view>
</view>
<view>
<ciy-aicameraocr :maskpng="props.maskpng" :mode="props.mode" @textclick="txtclk" @change="chglog('change', $event)" ref="cameraocr"></ciy-aicameraocr>
<view @longtap="copyboard(copytxt)" v-if="copytxt" class="px4 py4">
<text class="kbd">长按复制</text>
{{copytxt}}
</view>
</view>
<view class="ciy-card">
<view class="title">属性</view>
<view class="content">
<view class="prp">mode</view>
<view class="tip">
识别类型。<br />
text任意场景、idcard身份证场景、none 无文字场景。<br />
如果text或idcard且无文字的情况5秒后自动超时。<br/>
默认 text
</view>
<view><ciy-radio left v-model="props.mode" :range="[{id:'text',name:'text'},{id:'idcard',name:'idcard'}]"></ciy-radio></view>
<view class="hr"></view>
<view class="prp">checkidcard</view>
<view class="tip">
校验身份证的某一面。<br />
front 人像面、back 国徽面。<br />
默认 无
</view>
<view><ciy-radio left v-model="props.mode" :range="[{id:'',name:'不限'},{id:'front人像',name:'front'},{id:'back',name:'back'}]"></ciy-radio></view>
<view class="hr"></view>
<view class="prp">maskpng</view>
<view class="tip">
相机蒙版png图片。<br />
</view>
<view><ciy-input left v-model="props.maskpng" bb></ciy-input></view>
<view class="hr"></view>
<view class="prp">height</view>
<view class="tip">
相机高度使用vw单位。<br />
默认 60
</view>
<view class="hr"></view>
<view class="prp">bordercolor</view>
<view class="tip">
OCR文字框颜色。<br />
默认 <text style="border:1px solid #00e112;">#00e112</text>
</view>
</view>
</view>
<view class="ciy-card">
<view class="title">方法</view>
<view class="content">
<view class="fun">Step</view>
<view class="tip">
改变当前状态。0 关闭摄像头1 摄像头拍摄<br />
</view>
<button class="btn sm" @tap="funstep(0)">调用0</button>
<button class="btn sm" @tap="funstep(1)">调用1</button>
</view>
</view>
<view class="ciy-card">
<view class="title">事件</view>
<view class="content">
<view class="evt">@change</view>
<view class="tip">
OCR识别事件<br />
{<br />
 tempimg: 临时图片地址<br/>
 width: 图片宽度px<br/>
 height: 图片高度px<br/>
 idcardface: 身份证面 0 人像面 / 1 国徽面<br/>
 orientation: 身份证朝向 0 朝上 1 朝下 2 朝下 3 朝左)<br/>
 txts: 文字数组<br/>
 txtall: 全部文字文本<br/>
 anchors: 原始数据<br/>
}
</view>
<view class="hr"></view>
<view class="evt">@textclick</view>
<view class="tip">
OCR识别结果区域点击事件<br />
{<br />
 text: 识别文字<br/>
 pos: [{x,y},{x,y},{x,y},{x,y}] 框选点,相对%<br/>
}
</view>
<view class="hr"></view>
<view class="log" v-for="(item, index) in eventlog" :key="index">
<text class="code">{{eventlog.length - index}}</text>
{{item}}
</view>
</view>
</view>
<view class="hr"></view>
</view>
</template>
<style>
@import '@/pages/demo/zdemo.css';
</style>
<script>
import zmixin from '@/pages/demo/zmixin.js';
export default {
mixins: [zmixin],
data() {
return {
props: {
mode: 'text',
maskpng: '/img/maskcamera.png',
checkidcard: '',
},
copytxt: ''
}
},
onLoad() {
},
methods: {
txtclk(po) {
this.copytxt = po.text;
},
funstep(step){
this.getrefsSync('cameraocr').Step(step);
}
}
}
</script>