Aspose.Imaging Cloud-logo

Objektdetektion er en computerteknologi relateret til computersyn og billedbehandling, der beskæftiger sig med detektering af forekomster af semantiske objekter af en bestemt klasse (såsom mennesker, bygninger eller biler) i digitale billeder og videoer. I tilfælde af at du har brug for programmatisk at udføre objektdetekteringen ved hjælp af Cloud API, så er Aspose.Imaging Cloud API’er et perfekt valg. Vi har også udviklet sprogspecifikke SDK’er for at lette vores kunder. Så Aspose.Imaging Cloud Java SDK er et levedygtigt valg til objektgenkendelse ved hjælp af Java.

I de seneste udgivelsesversioner har vi inkorporeret objektdetektionsfunktionen i vores SDK’er, og ved hjælp af denne funktion er brugere i stand til at detektere objektgrænser på et inputbillede, så længe deres etiketter og sandsynligheder. API’en understøtter i øjeblikket 3 rasterbilledformater (BMP, JPG og JPEG2000), og Single Shot Detector (SSD) er detektionsmetoden til at genkende objekter. Ikke desto mindre planlægger vi at integrere flere andre metoder og billedformater i vores efterfølgende udgivelser. Når handlingen er udført gennem API, kan vi få et JSON objekt med detekterede objektgrænser, etiketter og scores eller et resultatbillede med objektgrænser og etiketter på. I øjeblikket kan du identificere objekter såsom en person, cykel, bil, kat, hund, hest osv. Du kan overveje at besøge følgende link for at få yderligere oplysninger om List of Available labels.

Find objekter og fremhæv på billedet

Der er to muligheder for at detektere objekter inde i et billede, dvs. udføre en handling over et billede på lager eller udføre en handling på et billede, der sendes i anmodningsteksten.

Behandle billeder fra Cloud Storage

Den første metode forventer, at du først uploader et billede til Cloud Storage og derefter sender dets navn i API-URL’en. Efter objektdetektionen returnerer API’en det resulterende billede i svaret.

Vi forstår også, at skylager er en hurtig og nem måde at gemme og få adgang til filer på. Objektdetektionsproceduren kan nemt udføres på billeder, der er gemt på skylager, og den resulterende fil returneres i svarhovedet. I følgende cURL-kommando udføres objektdetekteringsoperationen på et billede, der indeholder flere objekter, hvori argumenter, det er specificeret at bruge Single Shot Detector (SSD) som detektionsmodel, holde tærskelværdien på 50, inkludere etiketter af objekter i det resulterende billede, og angiv også objektdetektionsscore. Desuden har vi specificeret Zebra, giraf, hest som en kommasepareret liste over tilladte etiketter mod tilladte etiketter argument. Ikke desto mindre, hvis du vil gemme den resulterende fil på det lokale system, kan du prøve at bruge -o og angive en placering for den resulterende fil.

cURL kommando

curl -v "https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/71ElMFUKIvL.jpg/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=zebra, giraffe, horse" \
-X GET \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o c:/pdftest/mydetected.jpeg

Java-kodestykke

 public void VisualBoundsAnImageInCloud() throws Exception {

	String fileName = "object_detection_example.jpg";
	
	String method = "ssd";
	int threshold = 50;
	Boolean includeLabel = true;
	Boolean includeScore = true;
	String color = "blue";
	String folder = CloudPath; // Input file is saved at the Examples folder in the storage
	String storage = null; // We are using default Cloud Storage

	GetVisualObjectBoundsRequest request = new GetVisualObjectBoundsRequest(getSampleImageFileName(), method, threshold, includeLabel, includeScore, color, folder, storage);

	byte[] resultImage = ImagingApi.getVisualObjectBounds(request);
	Path path = Paths.get(OutputFolder, "object_detection_example_out.jpg").toAbsolutePath();
    Files.write(path, resultImage);
}
Kildefil til objektdetektion

Billede 1:- Kildefil til objektdetektion

Resulterende billede med registrerede objekter

Billede 2:- Resulterende fil med genkendte objekter

Behandle billeder uden lagring

Billedbehandlings-API’en tilbyder en anden metode (POST), hvor du kan sende billedet direkte fra det lokale lager til anmodningsteksten. Det lader dig også gemme det resulterende billede på Cloud Storage ved at angive outPath-parameterværdien. Men hvis du ikke angiver værdien, indeholder svaret et streamet billede.

cURL kommando

curl -X POST "https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe&color=yellow" -H "accept: application/json" -H "authorization: Bearer <jwt token>" -H "Content-Type: multipart/form-data" -d {"imageData":{}}

Anmod om URL

https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe&color=yellow

Java-kodestykke

public void VisualBoundsAnImageInRequestBody() throws Exception {

	String fileName = "object_detection_example.jpg";
	
	String method = "ssd";
	int threshold = 50;
	Boolean includeLabel = true;
	Boolean includeScore = true;
	String color = null;
	String outPath = null;
	String storage = null; // We are using default Cloud Storage

	byte[] inputStream = Files.readAllBytes(Paths.get(ExampleImagesFolder, getSampleImageFileName()));
	CreateVisualObjectBoundsRequest request = new CreateVisualObjectBoundsRequest(inputStream, method, threshold, includeLabel, includeScore, color, outPath, storage);	

	byte[] resultImage = ImagingApi.createVisualObjectBounds(request);
	Path path = Paths.get(OutputFolder, "object_detection_example_out.jpg").toAbsolutePath();
    Files.write(path, resultImage);
}
Input billede med hest

Billede 3:- Input billede med løbende hest

Hesteobjekt fundet på billedet

Billede 4:- Hest opdaget med 98% score

Konklusion

I denne artikel har vi udforsket funktionerne relateret til objektgenkendelse ved hjælp af Java SDK. SDK’et er så fantastisk, at det præcist kan bestemme flere objekter i et enkelt forsøg. For yderligere at lette brugerne, giver det dem mulighed for at fremhæve objekterne og mærke dem i overensstemmelse hermed. Hvis du støder på problemer, mens du bruger API’en, er du velkommen til at kontakte os via gratis produktsupportforum.

Relaterede artikler

Vi anbefaler, at du besøger følgende links for at lære om: