【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’

@Entry

@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.問題描述:

基于門禁等需要人臉識別的場景,需要錄入面部信息,鴻蒙如何實現面部識別功能?

解決方案:

人臉活體檢測,參考文檔:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/vision-interactive-liveness-V5#section10727191484112,檢測成功之后會返回最具有活體特征的圖片,使用這張圖片后面可以用人臉比對獲取結果,參考文檔:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/core-vision-facecomparator-api-V5

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 卡證默認面。如身份證為人像面和國徽面,護照為單面。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/vision-card-recognition-V5#section1823389379

4.問題描述:

活體檢測有沒有安全性報告?用到交易開戶場景是否涉及合規問題?

解決方案:

1-2周內會有CFCA認證報告,合規和安全問題需要伙伴結合自己的使用場景綜合評估

</string,></string,>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80599.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80599.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80599.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI全域智能監控系統重構商業清潔管理范式——從被動響應到主動預防的監控效能革命

一、四維立體監控網絡技術架構 1. 人員行為監控 - 融合人臉識別、骨骼追蹤與RFID工牌技術&#xff0c;身份識別準確率99.97% - 支持15米超距夜間紅外監控&#xff08;精度0.01lux&#xff09; 2. 作業過程監控 - UWB厘米級定位技術&#xff08;誤差&#xff1c;0.3米&…

安全強化的Linux

SElinux簡介 SELinux是security-Enhanced Linux的縮寫,意思是安全強化的linux SELinux主要由美國國家安全局(NSA)開發,當初開發的目的是為了避免資源的誤用。傳統的訪問控制在我們開啟權限后,系統進程可以直接訪問 當我們對權限設置不嚴謹時,這種訪問方式就是系統的安全漏洞 在…

機器學習第十六講:K-means → 自動把超市顧客分成不同消費群體

機器學習第十六講&#xff1a;K-means → 自動把超市顧客分成不同消費群體 資料取自《零基礎學機器學習》。 查看總目錄&#xff1a;學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的文章&#xff1a;DeepSeek R1本地與線上滿血版部署&#xff1a;超詳細手把手指南 K-me…

spring中yml配置上下文與tomcat等外部容器不一致問題

結論&#xff1a;外部優先級大于內部 在 application.yml 中配置了&#xff1a; server:port: 8080servlet:context-path: /demo這表示你的 Spring Boot 應用的上下文路徑&#xff08;context-path&#xff09;是 /demo&#xff0c;即訪問你的服務時&#xff0c;URL 必須以 /d…

論文研讀——《AnomalyGPT:使用大型視覺語言模型檢測工業異常》

這篇論文提出了 AnomalyGPT&#xff0c;一個基于大型視覺語言模型的工業異常檢測框架&#xff0c;首次將通用多模態對話能力引入工業視覺場景&#xff0c;通過引入圖像解碼器增強像素級感知&#xff0c;設計 Prompt 學習器實現任務自適應控制&#xff0c;并利用合成異常樣本解決…

供應鏈安全檢測系列技術規范介紹之一|軟件成分分析

軟件成分分析的概念及意義 軟件成分分析Software Compostition Analysis&#xff08;SCA&#xff09;是一種用于管理開源組件應用安全的方法。軟件成分分析系統可以快速跟蹤和分析應用軟件的開源組件&#xff0c;發現相關組件、支持庫以及它們之間直接和間接依賴關系&#xff0…

conda更換清華源

1、概覽 anaconda更換速度更快、更穩定的下載源&#xff0c;在linux環境測試通過。 2、conda源查看 在修改之前可以查看下現有conda源是什么&#xff0c;查看conda配置信息&#xff0c;如下&#xff1a; cat ~/.condarc 可以看到你的conda源&#xff0c;以我的conda源舉例&am…

Docker配置容器開機自啟或服務重啟后自啟

要將一個 Docker 容器設置為開機自啟&#xff0c;你可以使用 docker update 命令或配置 Docker 服務來實現。以下是兩種常見的方法&#xff1a; 方法 1&#xff1a;使用 docker update 設置容器自動重啟 使用 docker update 設置容器為開機自啟 你可以使用以下命令&#xff0c…

Flink 的水印機制

Apache Flink 的 水印機制&#xff08;Watermark Mechanism&#xff09; 主要用于解決 事件時間流中的亂序問題&#xff08;Out-of-Order Events&#xff09;&#xff0c;確保窗口&#xff08;Window&#xff09;能夠在合適的時間觸發計算&#xff0c;從而提供準確、一致的處理…

【每天一個知識點】embedding與representation

“Embedding&#xff08;嵌入&#xff09;”與“Representation&#xff08;表示&#xff09;”在機器學習、自然語言處理&#xff08;NLP&#xff09;、圖神經網絡等領域常被使用&#xff0c;它們密切相關&#xff0c;但語義上有一定區別。 一、定義 1. Representation&#…

SpringBoot(二)--- SpringBoot基礎(http協議、分層解耦)

目錄 前言 一、SpringBoot入門 1.入門程序 2.解析 二、HTTP協議 1.HTTP概述 2.HTTP請求協議 2.1 GET方式的請求協議 2.2 POST方式的請求協議 2.3 兩者的區別 2.4 獲取請求數據 3.HTTP響應協議 三、分層解耦 1.三層架構 2.IOC&DI 2.1 入門 2.2 IOC詳解 2.…

Please install it with pip install onnxruntime

無論怎么安裝都是 Please install it with pip install onnxruntime 我python 版本是3.11 &#xff0c;我換成3.10 解決了

【數據結構入門訓練DAY-35】棋盤問題

本次訓練聚焦于使用深度優先搜索&#xff08;DFS&#xff09;算法解決棋盤上的棋子擺放問題。題目要求在一個可能不規則的nn棋盤上擺放k個棋子&#xff0c;且任意兩個棋子不能位于同一行或同一列。輸入包括棋盤大小n和棋子數k&#xff0c;以及棋盤的形狀&#xff08;用#表示可放…

【日常筆記】wps如何將值轉換成東西南北等風向漢字

在WPS表格中&#xff0c;若要將數值&#xff08;如角度值&#xff09;轉換成“東、南、西、北”等風向漢字&#xff0c;可通過以下步驟結合自定義函數或條件判斷實現&#xff1a; 一、wps如何將值轉換 方法一&#xff1a;使用LOOKUP函數&#xff08;簡化公式&#xff09;&…

Web性能優化的未來:邊緣計算、AI與新型渲染架構

一、邊緣計算與性能優化深度整合 1.1 邊緣節點計算卸載策略 ? 智能任務分割:將非關鍵路徑計算卸載到邊緣節點 // 客戶端代碼 const edgeTask = new EdgeTask(image-processing); edgeTask.postMessage(imageData, {transfer

spring中的EnvironmentPostProcessor接口詳解

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站 EnvironmentPostProcessor 是 Spring Boot 提供的一個關鍵擴展接口&#xff0c;允許開發者在 Spring 應用環境初始化后、應用上下文創建前&…

Vue3知識點梳理

注&#xff1a;純手打&#xff0c;如有錯誤歡迎評論區交流&#xff01; 轉載請注明出處&#xff1a;https://blog.csdn.net/testleaf/article/details/148056625 編寫此文是為了更好地學習前端知識&#xff0c;如果損害了有關人的利益&#xff0c;請聯系刪除&#xff01; 本文章…

C++23 新增的查找算法詳解:ranges::find_last 系列函數

文章目錄 引言C Ranges 庫簡介ranges::find_last、ranges::find_last_if 和 ranges::find_last_if_not 概述ranges::find_last示例代碼代碼解釋 ranges::find_last_if函數簽名參數解釋示例代碼代碼解釋 ranges::find_last_if_not示例代碼代碼解釋 使用場景總結 引言 在 C 的發…

DW_DMAC簡介

基本概念&#xff1a; DMA&#xff1a;全稱direct memory access&#xff0c;即直接存儲器訪問。dma可以在中央處理器CPU不參與的情況下&#xff0c;實現外設和內存之間的數據直接傳輸&#xff0c;從而提高數據傳輸效率 外設與計算機內存之間的數據傳輸&#xff0c;一般可通過…

信號量基礎入門:并發控制的核心概念

問題的復雜性產生的根本原因在于&#xff0c;如 2.2 節所述&#xff0c;共享變量的訪問始終是“單向信息流”。也就是說&#xff0c;一個進程可以分配新值或檢查當前值&#xff0c;但這種檢查不會為其他進程留下任何痕跡。結果是&#xff0c;當一個進程想要對共享變量的當前值作…