Как сделать приложение которое по фото гриба будет выдавать его характеристики(работать с google api) на андроид?

Ссылка скопирована
22 февраля 2026 1 ответ

Мне нужно сделать приложение на андроид которое по фото гриба будет выдавать его характеристики и съедобность/несъедобности путём работы с google api (и желательно на python но не принципиально)
Что нужно для этого(какой софт нужен?) и каким образом это сделать?

Дополнительно:

Когда кто-то умрёт от отравления, тебя засудят с твоим приложением.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Мария Код Ответ

Для создания приложения на Android, которое будет распознавать грибы на фотографии и выдавать их характеристики с использованием Google API, вам потребуется следующий набор инструментов и шаги:

1. Настройка проекта Android Studio:
- Создайте новый проект Android в Android Studio.
- Добавьте необходимые разрешения для работы с камерой и хранением фотографий.
- Подключите библиотеки Google Vision API для работы с распознаванием изображений.

2. Работа с камерой и изображениями:
- Реализуйте функционал съемки фотографий с помощью камеры устройства.
- Сохраните сделанное фото во временное хранилище.

3. Использование Google Vision API:
- Получите доступ к Google Cloud Platform и создайте проект для использования Vision API.
- Получите ключ API для доступа к Vision API.
- Используйте Vision API для анализа изображения с грибом и получения характеристик.

Примерный код для работы с камерой и Google Vision API в приложении Android:

// Код для вызова камеры и сохранения фото
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
    startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
 
// Обработка результата съемки фото
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        Bitmap imageBitmap = (Bitmap) extras.get("data");
        // Сохранение фото во временное хранилище
        saveImageToStorage(imageBitmap);
        // Запуск обработки изображения с использованием Vision API
        processImageWithVisionAPI();
    }
}
 
// Код для обработки изображения с использованием Vision API
private void processImageWithVisionAPI() {
    // Инициализация Vision API
    try {
        HttpTransport httpTransport = AndroidHttp.newCompatibleTransport();
        JsonFactory jsonFactory = GsonFactory.getDefaultInstance();
        Vision vision = new Vision.Builder(httpTransport, jsonFactory, null)
                .setVisionRequestInitializer(new VisionRequestInitializer(API_KEY))
                .build();
 
        // Загрузка фото для анализа
        Image image = new Image();
        image.encodeContent(imageBytes);
 
        // Создание запроса для Vision API
        Feature feature = new Feature();
        feature.setType("LABEL_DETECTION");
 
        AnnotateImageRequest request = new AnnotateImageRequest();
        request.setImage(image);
        request.setFeatures(Collections.singletonList(feature));
 
        BatchAnnotateImagesRequest batchRequest = new BatchAnnotateImagesRequest();
        batchRequest.setRequests(Collections.singletonList(request));
 
        // Отправка запроса на анализ изображения
        BatchAnnotateImagesResponse batchResponse = vision.images().annotate(batchRequest).execute();
 
        // Обработка ответа с характеристиками изображения
        List annotations = batchResponse.getResponses().get(0).getLabelAnnotations();
        for (EntityAnnotation annotation : annotations) {
            Log.d(TAG, "Label: " + annotation.getDescription() + ", Score: " + annotation.getScore());
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

// Код для вызова камеры и сохранения фото Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } // Обработка результата съемки фото @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { Bundle extras = data.getExtras(); Bitmap imageBitmap = (Bitmap) extras.get("data"); // Сохранение фото во временное хранилище saveImageToStorage(imageBitmap); // Запуск обработки изображения с использованием Vision API processImageWithVisionAPI(); } } // Код для обработки изображения с использованием Vision API private void processImageWithVisionAPI() { // Инициализация Vision API try { HttpTransport httpTransport = AndroidHttp.newCompatibleTransport(); JsonFactory jsonFactory = GsonFactory.getDefaultInstance(); Vision vision = new Vision.Builder(httpTransport, jsonFactory, null) .setVisionRequestInitializer(new VisionRequestInitializer(API_KEY)) .build(); // Загрузка фото для анализа Image image = new Image(); image.encodeContent(imageBytes); // Создание запроса для Vision API Feature feature = new Feature(); feature.setType("LABEL_DETECTION"); AnnotateImageRequest request = new AnnotateImageRequest(); request.setImage(image); request.setFeatures(Collections.singletonList(feature)); BatchAnnotateImagesRequest batchRequest = new BatchAnnotateImagesRequest(); batchRequest.setRequests(Collections.singletonList(request)); // Отправка запроса на анализ изображения BatchAnnotateImagesResponse batchResponse = vision.images().annotate(batchRequest).execute(); // Обработка ответа с характеристиками изображения List annotations = batchResponse.getResponses().get(0).getLabelAnnotations(); for (EntityAnnotation annotation : annotations) { Log.d(TAG, "Label: " + annotation.getDescription() + ", Score: " + annotation.getScore()); } } catch (IOException e) { e.printStackTrace(); } }

Это базовый пример кода для работы с камерой и Google Vision API в приложении Android. Не забудьте настроить правильные разрешения и ключ API для корректной работы приложения. Вам также может потребоваться дополнительная обработка данных и интерфейс для пользователя. Надеюсь, этот ответ поможет вам начать создание приложения для распознавания грибов на Android с использованием Google API.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно