我正在使用Nativescript核心和带nativescript-camera插件的firebase ML套件进行文本识别的在线版本(我不知道是否有更好的插件)
此刻,我对此事件有一个看法:
exports.onCapture = function () {
if (camera.isAvailable()) {
var options = { width: 300, height: 300, keepAspectRatio: false, saveToGallery: false};
camera.takePicture(options)
.then(function (imageAsset) {
getTextFromPhotoCloud("HOW TO CONVERT imageAsset TO IMAGESOURCE");
}).catch(function (err) {
console.log("Error -> " + err.message);
});
}
}
以及ml套件的以下代码:
function getTextFromPhotoCloud(imageSource) {
var firebase = require("nativescript-plugin-firebase");
firebase.mlkit.textrecognition.recognizeTextCloud({
image: imageSource
}).then(function (result) {
console.log(result.text ? result.text : "");
}).catch(function (errorMessage) {
return console.log("ML Kit error: " + errorMessage);
});
}
如何将相机响应转换为图像源格式(对于ML套件)而不保存在图库中?
相机是否有更好的插件或其他产品?实际上,我必须启动相机应用程序,拍照并接受预览才能启动ML工具包。可以在应用程序中集成一些可以连接到ML工具包在线模式的东西(不需要为每张照片执行3个操作)吗?像这样的代码,有点不能使用云方法,而是不能实时进行:
<MLKitTextRecognition
class="my-class"
width="260"
height="380"
processEveryNthFrame="10"
preferFrontCamera="false"
[pause]="pause"
[torchOn]="torchOn"
(scanResult)="onTextRecognitionResult($event)">
</MLKitTextRecognition>
答案 0 :(得分:2)
在图像源中使用fromAsset
方法。
import { fromAsset } from "tns-core-modules/image-source"
fromAsset(imageAsset).
then((imageSource) => {
.....
});