Aspose.Imaging Cloud logó

Az objektumészlelés a számítógépes látáshoz és képfeldolgozáshoz kapcsolódó számítógépes technológia, amely egy bizonyos osztályba tartozó szemantikai objektumok (például emberek, épületek vagy autók) előfordulásának észlelésével foglalkozik digitális képeken és videókon. Ha programozottan kell végrehajtania az objektumészlelést a Cloud API használatával, akkor az Aspose.Imaging Cloud API-k tökéletes választást jelentenek. Nyelvspecifikus SDK-kat is kifejlesztettünk ügyfeleink megkönnyítésére. Tehát az Aspose.Imaging Cloud Java SDK életképes választás Java használatával történő objektumfelismeréshez.

A legújabb verziókban beépítettük az objektumészlelés funkciót az SDK-kba, és ennek segítségével a felhasználók képesek felismerni az objektumhatárokat a bemeneti képen, mindaddig, amíg azok címkéi és valószínűségei vannak. Az API jelenleg 3 raszteres képformátumot támogat (BMP, JPG és JPEG2000), és az SSD (Single Shot Detector) felismerési módszer az objektumok felismerésére. Ennek ellenére számos más módszert és képformátumot tervezünk integrálni a következő kiadásainkba. A művelet API-n keresztül történő végrehajtása után kaphatunk egy JSON objektumot észlelt objektumhatárokkal, címkékkel és pontszámokkal, vagy egy eredményképet objektumhatárokkal és címkékkel. Jelenleg azonosíthat tárgyakat, például személyt, kerékpárt, autót, macskát, kutyát, lovat stb. Érdemes lehet felkeresni a következő linket a Elérhető címkék listája további részleteiért.

Tárgyak észlelése és kiemelése a képen

Két lehetőség van a képen belüli objektumok észlelésére, azaz művelet végrehajtása a tárolóban lévő kép felett, vagy művelet végrehajtása a kérés törzsében átadott képen.

Képek feldolgozása a Cloud Storage-ból

Az első módszer azt várja, hogy először töltsön fel egy képet a Cloud Storage szolgáltatásba, majd adja át a nevét az API URL-ben. Az objektumészlelés után az API visszaadja az eredményül kapott képet a válaszban.

Azt is megértjük, hogy a felhőalapú tárolók gyors és egyszerű módja a fájlok tárolásának és elérésének. Az objektumészlelési eljárás könnyen végrehajtható a felhőtárhelyen tárolt képeken, és az eredményül kapott fájl a válaszfejlécben jelenik meg. A következő cURL parancsban az objektumészlelési műveletet egy több objektumot tartalmazó képen hajtják végre, ahol az argumentumok az SSD-t (Single Shot Detector) használják észlelési modellként, a küszöbértéket 50-en tartják, az objektumok címkéit tartalmazza az eredményül kapott képen, és adja meg az objektumészlelési pontszámot is. Továbbá megadtuk a Zebra, zsiráf, ló kifejezést az engedélyezett címkék vesszővel elválasztott listájaként az engedélyezett címkék argumentumával szemben. Mindazonáltal, ha az eredményül kapott fájlt a helyi rendszerre szeretné menteni, próbálkozzon az -o használatával, és adja meg a kapott fájl helyét.

cURL parancsot

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 kódrészlet

 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);
}
Forrásfájl az objektum észleléséhez

  1. kép: - Az objektumészlelés forrásfájlja

Az eredményül kapott kép észlelt objektumokkal

  1. kép: – Eredményfájl felismert objektumokkal

Képek feldolgozása tárolás nélkül

A képfeldolgozó API egy második módszert (POST) kínál, ahol közvetlenül átadhatja a képet a helyi tárhelyről a kérés törzsébe. Azt is lehetővé teszi, hogy az eredményül kapott képet a Cloud Storage-ra mentse az outPath paraméter értékének megadásával. Ha azonban nem adja meg az értéket, a válasz streamelt képet tartalmaz.

cURL parancsot

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":{}}

URL kérése

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 kódrészlet

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);
}
Bemeneti kép lóval

  1. kép: - Bemeneti kép futó lóval

Ló tárgyat észleltünk a képen

  1. kép: - 98%-os eredménnyel ló észlelve

Következtetés

Ebben a cikkben a Java SDK-t használó objektumfelismeréssel kapcsolatos képességeket tártuk fel. Az SDK annyira elképesztő, hogy több objektumot is képes pontosan meghatározni egyetlen kísérletben. A felhasználók további megkönnyítése érdekében lehetővé teszi számukra az objektumok kiemelését és megfelelő címkézését. Ha bármilyen problémába ütközik az API használata során, forduljon hozzánk bizalommal az ingyenes terméktámogatási fórumon.

Kapcsolódó cikkek

Javasoljuk, hogy látogassa meg az alábbi linkeket, ha többet szeretne megtudni: