Stap 2: programmeren
We zijn met behulp van python taal voor programmering, voordat die een google cloud console rekening https://console.cloud.google.com maken dan een project maken en inschakelen van de wolk visie API voor dat project.
GEDETAILLEERDE instructies zijn beschikbaar hier https://cloud.google.com/vision/docs/quickstart
Google Cloud visie API Client Library for Python met behulp van putty ternminal
PIP install--upgrade google-api-python-client
https://developers.Google.com/API-client-library/p...
Maak een python bestand binnen intel edison en schrijven van deze code
https://github.com/GoogleCloudPlatform/Cloud-Visio...
ook het toevoegen van touch sensor code beschikbaar hier
https://software.Intel.com/en-US/IOT/hardware/Sens...
voor het aansluiten van de camera kunt u deze zelfstudie gebruiken
volgende code is een eenvoudige python script dat voeden touch sensor-ingang en de inhoud van een afbeelding converteren naar tekst met behulp van google visie API
base64 importeren
alleen voor importeren importeren van het os opnieuw importeren sys
vanuit googleapiclient importeren ontdekking
van googleapiclient-Importfouten
nltk importeren
van nltk.stem.snowball
importeren van EnglishStemmer uit oauth2client.client
GoogleCredentials importeren
import-redis
DISCOVERY_URL = ' https://{api}.googleapis.com/$discovery/rest?version={apiVersion}' # noqa
BATCH_SIZE = 10
importeren
importeren van pyupm_ttp223 als ttp223
aanraken = ttp223. TTP223(0)
terwijl 1:
Als touch.isPressed():
klasse VisionApi:
"" "Bouwen en de API van de visie van de Google-service gebruiken." ""
def __init__ (zelf, api_discovery_file='vision_api.json'):
Self.credentials = GoogleCredentials.get_application_default() self.service = discovery.build ('visie', 'v1', credentials=self.credentials, discoveryServiceUrl = DISCOVERY_URL)
def detect_text (zelf, input_filenames, num_retries = 3, max_results = 6): "" "de visie-API gebruikt voor het detecteren van tekst in het gegeven bestand." "" beelden = {} voor bestandsnaam in input_filenames: met open (filename, 'rb') als image_file: afbeeldingen [filename] = image_file.read()
batch_request = [] voor bestandsnaam in beelden: batch_request.append ({'beeld': {'inhoud': base64.b64encode (images[filename]).decode('UTF-8')}, 'functies': [{'type': 'TEXT_DETECTION', 'maxResults': max_results,}]}) verzoek = self.service.images () .annotate (lichaam = {'verzoeken': batch_request})
Probeer: Reacties = request.execute(num_retries=num_retries) als 'Reacties' niet in de reacties: keren {} text_response = {} voor reactie in zip-bestand (beelden, responses['responses']): als 'fout' in reactie: afdrukken ("API fout voor % s: %s" % (filename, reactie ['error'] ['bericht'] als 'bericht' reactie ['error'] anders '')) blijven als 'textAnnotations' in reactie: text_response [bestandsnaam] anders reactie ['textAnnotations'] =: text_response [bestandsnaam] = [] terugkeer text_response behalve fouten. HttpError als e: afdrukken ("Http-fout voor % s: %s" % (filename, e)) behalve KeyError als e2: afdrukken ("Key fout: %s" % e2)
voor meer informatie over code goto https://github.com/GoogleCloudPlatform/cloud-visi...