For at organisere udtrukne objektoplysninger i et tabelformat ved hjælp af pandas-datarammen i forbindelse med Advanced Images Understanding og Object Detection med Google Vision API, kan vi følge en trin-for-trin-proces.
Trin 1: Import af de nødvendige biblioteker
Først skal vi importere de nødvendige biblioteker til vores opgave. I dette tilfælde vil vi importere pandas-biblioteket, som giver kraftfulde datamanipulationsfunktioner, og google.cloud.vision-biblioteket, som giver os mulighed for at interagere med Google Vision API.
python import pandas as pd from google.cloud import vision
Trin 2: Godkendelse og initialisering af Google Vision API-klienten
Dernæst skal vi godkende og initialisere Google Vision API-klienten. Dette kræver opsætning af et Google Cloud-projekt, aktivering af Vision API og opnåelse af de nødvendige legitimationsoplysninger. Når vi har legitimationsoplysningerne, kan vi oprette et klientobjekt.
python # Replace 'path/to/credentials.json' with the actual path to your credentials file client = vision.ImageAnnotatorClient.from_service_account_json('path/to/credentials.json')
Trin 3: Upload og analyse af billedet
For at udtrække objektinformation fra et billede skal vi uploade billedet til Google Vision API og analysere det. Vi kan bruge metoden `client.annotate_image()` til at udføre denne opgave. Svaret fra API'en vil indeholde de detekterede objekter sammen med deres tilsvarende afgrænsningsfelter.
python # Replace 'path/to/image.jpg' with the actual path to your image file with open('path/to/image.jpg', 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.annotate_image({'image': image}, features=[{'type': vision.Feature.Type.OBJECT_LOCALIZATION}])
Trin 4: Udpakning af objektinformation og oprettelse af datarammen
Når vi har svaret fra API'et, kan vi udtrække objektinformationen og oprette en dataramme ved hjælp af pandas-biblioteket. Vi vil iterere over svarets localized_object_annotations-felt, som indeholder de detekterede objekter og deres afgrænsningsboksinformation. For hvert objekt vil vi udtrække objektets navn, konfidensscore og afgrænsningsrammekoordinater.
python objects = [] for obj in response.localized_object_annotations: name = obj.name score = obj.score vertices = [(vertex.x, vertex.y) for vertex in obj.bounding_poly.normalized_vertices] objects.append({'Name': name, 'Score': score, 'Bounding Box': vertices}) df = pd.DataFrame(objects)
Trin 5: Visning af datarammen
Endelig kan vi vise den oprettede dataramme for at visualisere den udtrukne objektinformation i et tabelformat.
python print(df)
Ved at følge disse trin kan vi organisere den udtrukne objektinformation i et tabelformat ved hjælp af pandas-datarammen. Den resulterende dataramme vil indeholde kolonner, der repræsenterer objektets navn, konfidensscore og afgrænsningsbokskoordinater.
Eksempel på output:
Name Score Bounding Box 0 Chair 0.987 [(0.123, 0.456), (0.789, 0.456), ...] 1 Table 0.876 [(0.234, 0.567), (0.890, 0.567), ...] 2 Lamp 0.765 [(0.345, 0.678), (0.901, 0.678), ...] 3 Wall Clock 0.654 [(0.456, 0.789), (0.012, 0.789), ...]
I dette eksempel indeholder datarammen fire detekterede objekter sammen med deres tilsvarende konfidensscore og afgrænsningsfeltkoordinater.
Andre seneste spørgsmål og svar vedr Avanceret billedforståelse:
- Hvad er nogle foruddefinerede kategorier til objektgenkendelse i Google Vision API?
- Hvad er den anbefalede tilgang til at bruge funktionen til sikker søgegenkendelse i kombination med andre modereringsteknikker?
- Hvordan kan vi få adgang til og vise sandsynlighedsværdierne for hver kategori i den sikre søgning-annotation?
- Hvordan kan vi få den sikre søgeannotation ved hjælp af Google Vision API i Python?
- Hvilke fem kategorier er inkluderet i funktionen til sikker søgegenkendelse?
- Hvordan registrerer Google Vision API's sikre søgefunktion eksplicit indhold i billeder?
- Hvordan kan vi visuelt identificere og fremhæve de opdagede objekter i et billede ved hjælp af pudebiblioteket?
- Hvordan kan vi udtrække alle objektannoteringerne fra API'ens svar?
- Hvilke biblioteker og programmeringssprog bruges til at demonstrere funktionaliteten af Google Vision API?
- Hvordan udfører Google Vision API objektgenkendelse og lokalisering i billeder?
Se flere spørgsmål og svar i Avanceret billedforståelse