Aspose.Imaging Cloud Logo

Η ανίχνευση αντικειμένων είναι μια τεχνολογία υπολογιστή που σχετίζεται με την όραση υπολογιστή και την επεξεργασία εικόνας που ασχολείται με την ανίχνευση περιπτώσεων σημασιολογικών αντικειμένων μιας συγκεκριμένης κατηγορίας (όπως άνθρωποι, κτίρια ή αυτοκίνητα) σε ψηφιακές εικόνες και βίντεο. Σε περίπτωση που πρέπει να εκτελέσετε μέσω προγραμματισμού τον εντοπισμό αντικειμένων χρησιμοποιώντας το Cloud API, τότε τα API Aspose.Imaging Cloud είναι μια τέλεια επιλογή. Έχουμε επίσης αναπτύξει SDK ειδικά για τη γλώσσα για να διευκολύνουμε τους πελάτες μας. Έτσι, το Aspose.Imaging Cloud Java SDK είναι μια βιώσιμη επιλογή για την αναγνώριση αντικειμένων με χρήση Java.

Σε πρόσφατες εκδόσεις κυκλοφορίας, έχουμε ενσωματώσει τη δυνατότητα ανίχνευσης αντικειμένων στα SDK μας και με τη βοήθεια αυτής της δυνατότητας, οι χρήστες μπορούν να ανιχνεύουν τα όρια αντικειμένων σε μια εικόνα εισόδου, όσο και οι ετικέτες και οι πιθανότητες τους. Το API υποστηρίζει επί του παρόντος 3 μορφές εικόνας ράστερ (BMP, JPG και JPEG2000) και ο ανιχνευτής μονής λήψης (SSD) είναι η μέθοδος ανίχνευσης για την αναγνώριση αντικειμένων. Ωστόσο, σχεδιάζουμε να ενσωματώσουμε πολλές άλλες μεθόδους και μορφές εικόνας στις επόμενες εκδόσεις μας. Μόλις εκτελεστεί η λειτουργία μέσω του API, μπορούμε να λάβουμε ένα αντικείμενο JSON με ανιχνευμένα όρια αντικειμένων, ετικέτες και βαθμολογίες ή μια εικόνα αποτελέσματος με όρια αντικειμένων και ετικέτες σε αυτό. Επί του παρόντος, μπορείτε να αναγνωρίσετε αντικείμενα όπως ένα άτομο, ποδήλατο, αυτοκίνητο, γάτα, σκύλος, άλογο κ.λπ. Μπορείτε να επισκεφθείτε τον παρακάτω σύνδεσμο για περισσότερες λεπτομέρειες στη Λίστα Διαθέσιμων ετικετών.

Ανίχνευση αντικειμένων και επισήμανση στην εικόνα

Υπάρχουν δύο επιλογές για την ανίχνευση αντικειμένων μέσα σε μια εικόνα, π.χ. να εκτελέσετε μια λειτουργία σε μια εικόνα στην αποθήκευση ή να εκτελέσετε μια λειτουργία σε μια εικόνα που έχει περάσει στο σώμα αιτήματος.

Επεξεργαστείτε εικόνες από το Cloud Storage

Η πρώτη μέθοδος αναμένει από εσάς να ανεβάσετε πρώτα μια εικόνα στο Cloud Storage και στη συνέχεια να μεταβιβάσετε το όνομά της στη διεύθυνση URL του API. Μετά τον εντοπισμό αντικειμένου, το API επιστρέφει την εικόνα που προκύπτει στην απόκριση.

Κατανοούμε επίσης ότι οι χώροι αποθήκευσης Cloud είναι ένας γρήγορος και εύκολος τρόπος αποθήκευσης και πρόσβασης σε αρχεία. Η διαδικασία ανίχνευσης αντικειμένων μπορεί εύκολα να εκτελεστεί σε εικόνες που είναι αποθηκευμένες στο χώρο αποθήκευσης cloud και το αρχείο που προκύπτει επιστρέφεται στην κεφαλίδα απόκρισης. Στην ακόλουθη εντολή cURL, η λειτουργία ανίχνευσης αντικειμένου εκτελείται σε μια εικόνα που περιέχει πολλά αντικείμενα όπου ορίσματα, ορίζεται να χρησιμοποιείται ο ανιχνευτής μονής λήψης (SSD) ως μοντέλο ανίχνευσης, να διατηρείται η τιμή κατωφλίου στο 50, να συμπεριλαμβάνονται ετικέτες αντικειμένων στην προκύπτουσα εικόνα και καθορίστε επίσης τη βαθμολογία ανίχνευσης αντικειμένου. Επιπλέον, έχουμε ορίσει Zebra, καμηλοπάρδαλη, άλογο ως λίστα επιτρεπόμενων ετικετών διαχωρισμένων με κόμματα έναντι του ορίσματος allowLabels. Ωστόσο, εάν θέλετε να αποθηκεύσετε το αρχείο που προκύπτει στο τοπικό σύστημα, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε -o και να καθορίσετε μια θέση για το αρχείο που προκύπτει.

εντολή cURL

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

 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);
}
Αρχείο προέλευσης για ανίχνευση αντικειμένων

Εικόνα 1: - Αρχείο προέλευσης για τον εντοπισμό αντικειμένων

Προκύπτουσα εικόνα με εντοπισμένα αντικείμενα

Εικόνα 2:- Αποτέλεσμα αρχείου με αναγνωρισμένα αντικείμενα

Επεξεργασία εικόνων χωρίς αποθήκευση

Το API επεξεργασίας εικόνας προσφέρει μια δεύτερη μέθοδο (POST) όπου μπορείτε να μεταφέρετε απευθείας την εικόνα από τον τοπικό χώρο αποθήκευσης στο σώμα αιτήματος. Σας επιτρέπει επίσης να αποθηκεύσετε την εικόνα που προκύπτει στο Cloud Storage καθορίζοντας την τιμή της παραμέτρου outPath. Ωστόσο, εάν δεν καθορίσετε την τιμή, η απάντηση περιέχει μια εικόνα με ροή.

εντολή cURL

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

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

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);
}
Εισαγωγή εικόνας με άλογο

Εικόνα 3: - Εισαγωγή εικόνας με άλογο που τρέχει

Ανιχνεύτηκε αντικείμενο αλόγου στην εικόνα

Εικόνα 4:- Εντοπίστηκε άλογο με βαθμολογία 98%.

Σύναψη

Σε αυτό το άρθρο, εξερευνήσαμε τις δυνατότητες που σχετίζονται με την Αναγνώριση αντικειμένων χρησιμοποιώντας το Java SDK. Το SDK είναι τόσο εκπληκτικό που μπορεί να προσδιορίσει με ακρίβεια πολλά αντικείμενα σε μία μόνο προσπάθεια. Για περαιτέρω διευκόλυνση των χρηστών, τους δίνει τη δυνατότητα να επισημαίνουν τα αντικείμενα και να τα επισημαίνουν ανάλογα. Σε περίπτωση που αντιμετωπίσετε προβλήματα κατά τη χρήση του API, μη διστάσετε να επικοινωνήσετε μαζί μας μέσω του δωρεάν φόρουμ υποστήριξης προϊόντων.

Σχετικά Άρθρα

Συνιστούμε να επισκεφθείτε τους παρακάτω συνδέσμους για να μάθετε σχετικά: