Jag ser dig (INTEL IOT använder INTEL EDISON) (2 / 2 steg)
Steg 2: programmering
Vi använder python språk för programmering, innan att skapa en google cloud konsolen konto https://console.cloud.google.com och sedan göra ett projekt och aktiverar moln vision API för projektet.
DETALJERADE instruktioner finns tillgängliga här https://cloud.google.com/vision/docs/quickstart
Google Cloud Vision API Client Library for Python använder putty ternminal
PIP installera--uppgradera google-api-python-client
https://developers.Google.com/API-Client-library/p...
gör en python fil inuti intel edison och skriva denna kod
https://github.com/GoogleCloudPlatform/Cloud-Visio...
också lägga till touch sensor koden tillgänglig här
https://Software.Intel.com/en-us/IOT/Hardware/Sens...
för att ansluta kameran kan du använda denna tutorial
följande kod är ett enkel python skript som foder input från touch sensor och konvertera en bildinnehåll till text med hjälp av google vision API
importera base64
importera os importera re import sys
från googleapiclient import discovery
från googleapiclient importfel
importera nltk
från nltk.stem.snowball
importera EnglishStemmer från oauth2client.client
importera GoogleCredentials
importera redis
DISCOVERY_URL = ' https://{api}.googleapis.com/$discovery/rest?version={apiVersion}' # noqa
BATCH_SIZE = 10
Importera tid
importera pyupm_ttp223 som ttp223
Touch = ttp223. TTP223(0)
medan 1:
om touch.isPressed():
klass VisionApi:
"" "Bygga och använda tjänsten Google Vision API." ""
def __init__ (self, api_discovery_file='vision_api.json "):
Self.credentials = GoogleCredentials.get_application_default() self.service = discovery.build ("vision", 'v1', credentials=self.credentials, discoveryServiceUrl = DISCOVERY_URL)
def detect_text (self, input_filenames, num_retries = 3, max_results = 6): "" "använder Vision API för att identifiera text i given filen." "" bilder = {} för filnamnet i input_filenames: med öppen (filnamn, "rb") som filerna: bilder [filnamn] = image_file.read()
batch_request = [] för filnamnet i bilder: batch_request.append ({"bild": {"innehåll": base64.b64encode (images[filename]).decode('UTF-8')}, 'dragen': [{'typ': 'TEXT_DETECTION', 'maxResults': max_results,}]}) begäran = self.service.images () .annotate (kroppen = {"begäran": batch_request})
försök: Svaren = request.execute(num_retries=num_retries) om "åtgärder" inte i svaren: return {} text_response = {} för svar i zip-filnamnet (bilder, responses['responses']): om "fel" svar: skriva ut ("API-fel för % s: %s" % (filnamn, svar ['fel'] ['meddelande'] om 'meddelande' svar ['fel'] annat '')) fortsätta om "textAnnotations" svar: text_response [filnamn] = svar ['textAnnotations'] annat: text_response [filnamn] = [] retur text_response utom fel. HttpError som e: utskrift ("Http-fel för % s: %s" % (filename, e)) utom KeyError som e2: skriva ut ("Key fel: %s" % e2)
för mer information om koden goto https://github.com/GoogleCloudPlatform/cloud-visi...