Reactjs 无法从React Native上的Tensorflow.js Tensorcamera读取图像

Reactjs 无法从React Native上的Tensorflow.js Tensorcamera读取图像,reactjs,react-native,tensorflow,expo,tensorflow.js,Reactjs,React Native,Tensorflow,Expo,Tensorflow.js,我试图在React Native上使用Tensorflow.js posenet,但无法获取“图像” 目前世博会摄像头工作正常,但图像未定义,并且也显示 找不到变量:React 请建议如何迭代从TensorCamera获取图像。 谢谢 import*as React from'React'; 从“react native”导入{文本、视图、样式表、图像、平台}; 从“expo Camera”导入{Camera}; 从“@tensorflow/tfjs react native”导入{camera

我试图在React Native上使用Tensorflow.js posenet,但无法获取“图像”
目前世博会摄像头工作正常,但图像未定义,并且也显示

找不到变量:React

请建议如何迭代从TensorCamera获取图像。
谢谢

import*as React from'React';
从“react native”导入{文本、视图、样式表、图像、平台};
从“expo Camera”导入{Camera};
从“@tensorflow/tfjs react native”导入{cameraWithTensors};
从“@tensorflow models/posenet”导入*作为posenet;
从“@tensorflow/tfjs”导入*作为tf;
常数TensorCamera=摄像机用张量(摄像机);
导出默认类MyComponent扩展React.Component{
建造师(道具){
超级(道具);
this.handleCameraStream=this.handleCameraStream.bind(this);
}
异步估计PoseOnImage(imageElement){
const net=wait posenet.load();
const pose=wait net.estimateSinglePose(imageElement{
flipHorizontal:错误,
});
this.setState({pose:pose});
回身姿势;
}
handleCameraStream(图像){
常量循环=异步()=>{
const nextImageTensor=wait images.next().value;
等待这个。估计PoseOnImage(下一个TimageTensor);
请求动画帧(循环);
};
loop();
}
render(){
返回(
);
}
}
{this.camera=ref}
类型={Camera.Constants.type.front}
resizeHeight={64}
resizeWidth={64}
resizeDepth={3}
onReady={this.handleCameraStream}
样式={{width:width,height:height}}
/>

必须传递resizeHeight、resizeWidth和resizeDepth才能得到张量。它对我起作用了。

你能展示一下
cameraWithTensors
的代码吗?它像
import{cameraWithTensors}一样从'@tensorflow/tfjs react native'导入如果图像未定义,则可能取决于如何在
TensorCamera
中调用
handleCameraStream
。如果您可以制作一个片段来演示您的错误,那么就更容易发现错误并修复它。它还显示如下>找不到变量:react您是否遵循了官方文档中关于如何安装react和react native的说明?
import * as React from 'react';
import { Text, View, StyleSheet, Image, Platform } from 'react-native';
import { Camera } from 'expo-camera';
import { cameraWithTensors } from '@tensorflow/tfjs-react-native';
import * as posenet from '@tensorflow-models/posenet';
import * as tf from '@tensorflow/tfjs';

const TensorCamera = cameraWithTensors(Camera);

export default class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.handleCameraStream = this.handleCameraStream.bind(this);
  }

  async estimatePoseOnImage(imageElement) {
    const net = await posenet.load();
    const pose = await net.estimateSinglePose(imageElement, {
      flipHorizontal: false,
    });
    this.setState({ pose: pose });
    return pose;
  }

  handleCameraStream( images ) {
    const loop = async () => {
      const nextImageTensor = await images.next().value;
      await this.estimatePoseOnImage(nextImageTensor);
      requestAnimationFrame(loop);
    };
    loop();
  }

  render() {
    return (
      <View>
        <TensorCamera
          type={Camera.Constants.Type.front}
          onReady={this.handleCameraStream}
          autorender={true}
        />
      </View>
    );
  }
}
<TensorCamera
    ref={(ref) => { this.camera = ref }}
    type={Camera.Constants.Type.front}
    resizeHeight={64}
    resizeWidth={64}
    resizeDepth={3}
    onReady={this.handleCameraStream}
    style={{width: width, height: height}}
/>