Я создаю приложение для обнаружения лиц, которое использует API Clarifai для обнаружения лица изображения, введенного по URL-адресу этого изображения. Я опубликую здесь код, показывающий компонент FaceRecognition. а также сценарий App.js, относящийся к этой проблеме. в настоящее время моя информация об ограничивающей рамке возвращается неопределенной, хотя она должна дать мне ограничивающую рамку вокруг обнаруженного ею лица. это лучшее, что я могу сказать. Ничего из того, что я сделал, не помогло
Я пробовал консольно регистрировать ящик, который возвращает объект, но я не уверен, где находится информация о ящике, которая мне нужна, или, если уж на то пошло, как я могу получить к нему доступ. Возможно, я придерживаюсь неправильного подхода, примечая, что axios.post возвращается как не функция в скрипте model.js, который использует API, хотя это TypeError.
импортировать React из «реагировать»; импортировать './FaceRecognition.css'; const FaceRecognition = ({ imageUrl, box }) => { console.log(коробка); возвращаться (
); } экспортировать FaceRecognition по умолчанию; import React, { Component } из 'реагировать'; // импортируем частицы из 'react-particles-js'; импортировать ParticlesBg из «particles-bg» импортировать Clarifai из «clarifai»; импортировать FaceRecognition из './comComponents/FaceRecognition/FaceRecognition'; импортировать навигацию из './comments/Navigation/Navigation'; импортировать вход из './comComponents/Signin/Signin'; импортировать регистр из './comments/Register/Register'; импортировать логотип из './comments/Logo/Logo'; импортируйте ImageLinkForm из './comComponents/ImageLinkForm/ImageLinkForm'; импортировать ранг из './компоненты/ранг/ранк'; импортировать './App.css'; const app = новый Clarifai.App({ apiKey: '18d772d83bae4ee58c9a4902be5e6d7a' }); класс App расширяет компонент { конструктор() { супер(); это.state = { вход: '', URL изображения: '', коробка: {}, маршрут: 'вход', isSignedIn: ложь, пользователь: { идентификатор: '', имя: '', электронная почта: '', записи: 0, присоединился: '' } } } loadUser = (данные) => { this.setState({ пользователь: { идентификатор: data.id, имя: данные.имя, электронная почта: data.email, записи: data.entries, присоединился: data.joined } }) } вычислитьFaceLocation = (данные) => { const box = data.outputs[0].data.regions[0].region_info.bounding_box; const image = document.getElementById('inputimage'); константная ширина = число (image.width); const height = Number(image.height); константный newBox = { слева: box.left_col * ширина, верх: box.top_row * высота, вправо: ширина - (box.right_col * ширина), внизу: высота - (box.bottom_row * высота) } this.setState({box: newBox}) }; onButtonSubmit = () => { this.setState({ imageUrl: this.state.input }); app.models.predict('распознавание лиц', this.state.input) .then(ответ => { console.log('привет', ответ) если (ответ) { выборка('http://localhost:3001/image', { метод: «положить», заголовки: { 'Content-Type': 'application/json' }, тело: JSON.stringify({ идентификатор: this.state.user.id }) }) .then(ответ => ответ.json()) .then(response => console.log(response.json())) .then(count => { this.setState(Object.assign(this.state.user, {записи: количество})) }) } this.calculateFaceLocation(ответ) }) .catch(err => console.log(err)); } render() { const {isSignedIn, imageUrl, маршрут, поле} = this.state; возвращаться ( {маршрут === 'домой' ? : ( маршрут === 'вход' ? : ) } ); } } экспортировать приложение по умолчанию;```