[RUBY] Lors de l'introduction de l'API Google Cloud Vision sur les rails, j'ai suivi la documentation.

environnement

・ Rails 6.0.3.3 ・ Rubis 2.7.1

Matériel de référence

Documentation de l'API Google Cloud Vision 1、https://cloud.google.com/vision/docs/libraries?hl=ja

Procédure d'installation

1, installation de gemme

Décrit dans gemfile

source "https://rubygems.org"
gem "google-cloud-vision"

Après ça,

bundle installl

* Officiellement, la méthode "gem install google-cloud-vision" est recommandée, mais elle ne fonctionnait pas avec mon application. </ font> Sortira plus tard

require "google/cloud/vision"

Une erreur s'est produite et il a été bloqué. (J'ai mangé beaucoup de temps à cause de ça)

2, paramètres d'authentification

Pour utiliser l'API Google Cloud Vision, il est nécessaire de créer un fichier json dédié et de le charger dans l'application rails cibles. ・ Créer un fichier json ▶ ︎ Ne restez pas coincé avec la procédure selon le document. Le fichier terminé ressemble à ceci

{
  "type": "",
  "project_id": "",
  "private_key_id": "private_key_Contenu de l'identifiant",
  "private_key": "-----BEGIN PRIVATE KEY-----Contenu\=\n-----END PRIVATE KEY-----\n",
  "client_email": "",
  "client_id": "",
  "auth_uri": "",
  "token_uri": "",
  "auth_provider_x509_cert_url": "",
  "client_x509_cert_url": ""
}

・ Charger dans l'application rails ▶ ︎.Entrez dans bash_profile et passez le chemin

export GOOGLE_APPLICATION_CREDENTIALS="$PATH:Écrivez le chemin/nom de fichier.json"

3, utilisez-le réellement.

routes.rb


get  "contents/index"  => "contents#index"

contents_controller.rb


class ContentsController < ApplicationController
  def index
  end
end

index.erb


<%=
#Chargez la gemme que vous venez d'installer
require "google/cloud/vision"

#Instanciation
image_annotator = Google::Cloud::Vision.image_annotator

#Entrez le chemin de l'image (l'image locale ou en ligne convient)
file_name = "./resources/cat.jpg "

#Valeur renvoyée après avoir reconnu l'image
response = image_annotator.label_detection image: file_name
response.responses.each do |res|
  puts "Labels:"
  res.label_annotations.each do |label|
    puts label.description
  end
end
%>

4, contenu / index Lors de la recomposition ...

スクリーンショット 2020-09-25 13.25.09.png

Si vous voyez une valeur de retour comme celle-ci, vous avez réussi! (Depuis que j'ai pris l'image d'un chat à titre d'essai, "Cat" apparaît. Lol)

De là, vous pouvez obtenir les informations que vous souhaitez et les formater afin de pouvoir les utiliser pour de bon! Merci pour la lecture !!

Recommended Posts

Lors de l'introduction de l'API Google Cloud Vision sur les rails, j'ai suivi la documentation.
J'ai essayé l'API Google Cloud Vision pour la première fois
J'ai essayé d'extraire des caractères des sous-titres (OpenCV: API Google Cloud Vision)
Comment utiliser l'API Google Cloud Translation
Obtenez des étiquettes de données en les associant à l'API Google Cloud Vision lors de la prévisualisation d'images avec Rails
Essayez de juger des photos de plats à l'aide de l'API Google Cloud Vision
Présentation de l'API Google Map avec rails
Jusqu'à ce que vous essayiez l'API Google Cloud Vision (détection d'images dangereuses)
Utiliser l'API Google Cloud Vision de Python
J'ai essayé de toucher l'API COTOHA
Comment utiliser l'API Cloud Vision de GCP
[Rails] Comment détecter des images radicales en analysant des images à l'aide de l'API Cloud Vision
J'ai essayé "License OCR" avec l'API Google Vision
Lorsque j'ai essayé d'utiliser l'API Computer Vision de Microsoft, j'ai reconnu le signe Galapagos "Stop"
J'ai essayé "Receipt OCR" avec l'API Google Vision
J'ai essayé de collecter automatiquement des images érotiques de Twitter à l'aide de l'API Cloud Vision de GCP
J'ai vérifié le package Python pré-installé dans Google Cloud Dataflow
Je voulais ignorer certaines extensions lors de la création de la documentation Sphinx
Publions l'API de super résolution à l'aide de Google Cloud Platform
J'ai essayé d'obtenir diverses informations de l'API codeforces
J'ai essayé de toucher l'API Qiita
Le record auquel j'étais accro en mettant MeCab dans Heroku
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
J'ai créé une bibliothèque Python pour appeler l'API de LINE WORKS
Ce à quoi j'étais accro en présentant ALE à Vim pour Python
Lorsque vous souhaitez que le thème de votre documentation Sphinx soit le même
Je veux exécuter l'interface graphique Python au démarrage de Raspberry Pi
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
J'ai comparé Jinja2 en lisant le document pour l'utiliser avec Django
Les débutants en Python utilisent l'API non officielle de Google Play Music pour jouer de la musique
Comment réparer la merde lors de la lecture d'images Google Cloud Storage de Django déployées sur GAE