【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit (3)
1.问题描述:
通过CardRecognition识别身份证拍照拿到的照片地址,使用该方法获取不到图片文件,请问如何解决?
解决方案:
//卡证识别实现页,文件名为CardDemoPage,需被引入至入口页
import { CallbackParam, CardRecognition, CardSide, CardType, ShootingMode } from '@kit.VisionKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { fileIo as fs } from '@kit.CoreFileKit';
import { image } from '@kit.ImageKit';
const TAG: string = 'CardRecognitionPage'
@Component
export struct CardDemoPage {
@State cardDataSource: Record<string, string>[] = []
@Consume('pathStack') pathStack: NavPathStack
@State cardImageUri: string = '';
build() {
NavDestination() {
Stack({ alignContent: Alignment.Top }) {
Stack() {
this.cardDataShowBuilder()
}
.width('80%')
.height('80%')
CardRecognition({
// 此处选择身份证类型作为示例
supportType: CardType.CARD_ID,
cardSide: CardSide.BACK,
cardRecognitionConfig: {
defaultShootingMode: ShootingMode.MANUAL,
isPhotoSelectionSupported: true,
cardContentConfig: { bankCard: { isBankNumberDialogShown: true } }
},
callback: ((params: CallbackParam) => {
hilog.info(0x0001, TAG, params code: ${params.code})
if (params.code === -1) {
this.pathStack.pop()
}
hilog.info(0x0001, TAG, params cardType: ${params.cardType})
if (params.cardInfo?.front !== undefined) {
this.cardDataSource.push(params.cardInfo?.front)
}
if (params.cardInfo?.back !== undefined) {
this.cardDataSource.push(params.cardInfo?.back)
}
if (params.cardInfo?.main !== undefined) {
this.cardDataSource.push(params.cardInfo?.main)
}
hilog.info(0x0001, TAG, params cardInfo front: ${JSON.stringify(params.cardInfo?.front)})
hilog.info(0x0001, TAG, params cardInfo back: ${JSON.stringify(params.cardInfo?.back)})
this.cardImageUri = params.cardInfo?.back?.cardImageUri as string
this.getPixelMap()
})
})
}
.width('100%')
.height('100%')
}
.width('100%')
.height('100%')
.hideTitleBar(true)
}
getPixelMap() {
try {
hilog.info(0x0001, TAG, getPixelMap cardImageUri: + this.cardImageUri)
let file = fs.openSync(this.cardImageUri, fs.OpenMode.READ_ONLY)
if (!file) {
hilog.info(0x0001, TAG, getPixelMap file: + file)
}
hilog.info(0x0001, TAG, "getPixelMap fd: " + file.fd)
const imageSource: image.ImageSource = image.createImageSource(file.fd);
let pixMap = imageSource.createPixelMapSync();
hilog.info(0x0001, TAG, "getPixelMap pixMap: " + pixMap)
} catch (error) {
hilog.error(0x0000, 'testTag', 'getPixelMap failed: %{public}s', JSON.stringify(error));
}
}
@Builder
cardDataShowBuilder() {
List() {
ForEach(this.cardDataSource, (cardData: Record<string, string>) => {
ListItem() {
Column() {
Image(cardData.cardImageUri)
.objectFit(ImageFit.Contain)
.width(100)
.height(100)
Text(JSON.stringify(cardData))
.width('100%')
.fontSize(12)
}
}
})
}
.listDirection(Axis.Vertical)
.alignListItem(ListItemAlign.Center)
.margin({
top: 50
})
.width('100%')
.height('100%')
}
}
2.问题描述:
基于门禁等需要人脸识别的场景,需要录入面部信息,鸿蒙如何实现面部识别功能?
解决方案:
3.问题描述:
升级到Beta5版本,身份证拍摄页面,调用卡证识别控件,身份证正面拍摄可以获取到照片,国徽面获取不到照片,Beta2版本正常,报13900002 No such file or directory 错误
解决方案:
在IDE右下角的Device File Browser进入手机目录结构,看一下图片是否存在。
或者在工程中用 fs.access 判断一下文件是否存在https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5#fsaccess
CardSide说明:
FRONT 0 身份证人像面或其他卡证正面。
BACK 1 身份证国徽面或其他卡证反面。
DEFAULT 2 卡证默认面。如身份证为人像面和国徽面,护照为单面。
4.问题描述:
活体检测有没有安全性报告?用到交易开户场景是否涉及合规问题?
解决方案:
1-2周内会有CFCA认证报告,合规和安全问题需要伙伴结合自己的使用场景综合评估
</string,></string,>
【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit (3)的更多相关文章
- Linux开源系统对比Windows闭源系统的优势解析
当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...
- Eureka 2.0 闭源--选择Consul???
在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka ...
- Eureka 2.0 闭源--选择Consul???[转]
原文链接: https://www.cnblogs.com/williamjie/p/9369800.html 在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大 ...
- Docker与k8s的恩怨情仇(四)-云原生时代的闭源落幕
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天 ...
- 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布闭源了.. 已经从 Dubbo 迁移至 Spring Cl ...
- 第一部分:开发前的准备-第八章 Android SDK与源码下载
第8章 Android SDK与源码下载 如果你是新下载的SDK,请阅读一下步骤了解如何设置SDK.如果你已经下载使用过SDK,那么你应该使用AVD Manager,来更新即可. 下面是构建Andro ...
- Ubuntu 16.04安装GTX960闭源驱动
GTX960的闭源要Nvidia 346版才行,闭源驱动能很大提升显卡的性能,例如双显示输出等,缺点是不开源. 有以下方式来安装: 1.命令行: sudo add-apt-repository -y ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响
笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响 简介: SpringCloud体系介绍 官方地址:http://projec ...
- deepin20 安装英伟达闭源驱动
第一步.安装深度的"显卡驱动器" 在deepin v20 中默认没有显卡驱动管理器,需要命令行安装,命令如下(刚开始一直出错,当我第一次打开应用商店,就可以安装了,好神奇): su ...
- HMS Core在MWC2022展示最新开放能力,助力开发者构建精品应用
[2022年2月28日,巴塞罗那]世界移动通信大会MWC2022在巴塞罗那开幕.HMS Core设立了3个展台(Fira Gran Via,Hall 1),向全球开发者展示HMS Core 6的全新开 ...
随机推荐
- Linux - 搭建一套Apache大数据集群
一.服务器操作系统 主机名 操作系统 node01 Centos 7.9 node02 Centos 7.9 node03 Centot 7.9 二.大数据服务版本 服务 版本 下载 JDK jdk- ...
- Flink学习(九) Sink到Kafka
package com.wyh.streamingApi.sink import java.util.Properties import org.apache.flink.api.common.ser ...
- 基于 Trae Claude-3.7 从0到1 打造加密货币钱包Dompet-App
从0到1:用Trae Claude-3.7打造加密货币钱包Dompet-App 项目介绍 大家好!今天我要分享如何使用强大的AI助手Trae Claude-3.7,从零开始构建一款功能丰富的加密货币钱 ...
- 题解:洛谷P11557 [ROIR 2016 Day 2] 有趣数字
题目传送门. 考虑数位 dp,也就是记忆化搜索,设置一个搜索函数 \(dfs\),有三个参数,一个是当前位数,表示搜到哪一位了,一个是从第一位到上一个位数是否全部顶上界,从第一位到上一位全部顶上界的意 ...
- 关于jsp的MySQL数据库连接问题
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- 解决macOS无法验证“xxx”的开发者。你确定要打开它吗?
前言 当 macOS 无法验证开发者时,有两种方式解决,可以通过以下步骤来打开 xxx 系统偏好设置: 打开"系统偏好设置". 选择"安全性与隐私". 在&qu ...
- Centos下安装php mysql pdo以及gd扩展
pdo扩展安装: yum install php-pdo pdomysql扩展安装: yum install php-pdo_mysql gd库扩展安装: yum install php-gd 安装后 ...
- PHP Fatal error: Uncaught RedisException: Redis server went away in
PHP Fatal error: Uncaught RedisException: Redis server went away in 导致这个问题的原因可能有 1.redis未安装,php没有开启r ...
- GBJ 97-1987 水泥混凝土路面施工及验收规范(电子版)PDF 版本 下载
本规范适用于新建和改建的公路 城市道路 厂矿道路和民航机场道面等就地浇筑的水泥混凝土路面的施工及验收 链接:https://pan.baidu.com/s/17t88jnEU6IrptmEWsyuN3 ...
- 唐僧,一名合格的IT项目经理
唐僧, 家喻户晓的唐三藏是也, 他是参悟佛法的大唐高僧,他还是大话西游的男一号, 可是有谁知道,他曾经是一名杰出的项目经理.他所领导的项目是是当时最庞大的IT项目--西天之行求取真经;他所领导的项目团 ...