Εικόνα Deskew

Deskew Image ή Deskew PDF χρησιμοποιώντας Java Cloud SDK

Ένας μεγάλος αριθμός εικόνων ράστερ που λαμβάνουμε για επαγγελματική και προσωπική χρήση είναι σαρωμένες εικόνες είτε μέσω ψηφιακού σαρωτή είτε μπορεί να είναι εικόνα από φορητή συσκευή. Έτσι, υπάρχουν αρκετές πιθανότητες το κείμενο μέσα σε μια εικόνα να μην είναι σωστά στοιχισμένο και να διατρέχει το περιθώριο της σελίδας είτε οριζόντια είτε κάθετα. Με απλά λόγια, οι σαρωμένες εικόνες είναι συχνά λοξές (το χαρτί μετακινήθηκε/περιστράφηκε) στον σαρωτή. Τώρα, για να λύσουμε τέτοια ζητήματα, επιλέγουμε μια τεχνική που ονομάζεται deskewing, η οποία είναι μια διαδικασία κατά την οποία η λοξή αφαιρείται περιστρέφοντας μια εικόνα κατά την ίδια ποσότητα με την λοξή της, αλλά προς την αντίθετη κατεύθυνση. Η λειτουργία Deskew είναι εξαιρετικά χρήσιμη στην αυτοματοποιημένη επεξεργασία εικόνας, όταν οι εικόνες προέρχονται από σαρωτή.

Τώρα σε αυτό το άρθρο, εξετάζουμε τις λεπτομέρειες σχετικά με τον τρόπο Deskew εικόνας χρησιμοποιώντας το Java Cloud SDK. Έτσι, η συνάρτηση deskew λειτουργεί σε δύο βήματα, δηλαδή ανιχνεύει τη γωνία κλίσης της εικόνας και στη συνέχεια περιστρέφει την εικόνα για να διορθώσει τη λοξή. Μπορούμε να εφαρμόσουμε αυτή τη λειτουργία σε φαξ που λαμβάνουμε και χρησιμοποιώντας τις πληροφορίες (κείμενο) στην εικόνα, να υπολογίσουμε τη γωνία περιστροφής και όχι τα περιθώρια του χαρτιού και να εκπληρώσουμε την απαίτηση. Ωστόσο, καταλαβαίνουμε ότι η λειτουργία αποσύνθεσης εικόνας μπορεί να εκτελεστεί σε έγχρωμες εικόνες 1 bit, 8 bit και 24 bit.

Deskew Image API

Προκειμένου να υποστηρίξουμε την εικόνα Διαθέτουμε API με βάση το REST που προσφέρει τις δυνατότητες χειρισμού του αρχείου εικόνων στο Cloud. Τώρα για εφαρμογές Java, έχουμε αναπτύξει ειδικά το Aspose.Imaging Cloud SDK for Java που σας δίνει τη δυνατότητα να εφαρμόσετε δυνατότητες επεξεργασίας εικόνας μέσω κώδικα Java. Τώρα, για να αφαιρέσετε τις εικόνες χρησιμοποιώντας το Java cloud SDK, το πρώτο βήμα είναι να προσθέσετε την αναφορά του στο έργο java, συμπεριλαμβάνοντας τις ακόλουθες πληροφορίες στο pom.xml (έργο τύπου Maven build).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Το επόμενο βήμα είναι να αποκτήσετε τα διαπιστευτήρια πελάτη από το Cloud Dashboard και αν δεν έχετε λογαριασμό στο Aspose Cloud Dashboard, δημιουργήστε έναν δωρεάν λογαριασμό μέσω έγκυρης διεύθυνσης email. Τώρα συνδεθείτε χρησιμοποιώντας νέο λογαριασμό και αναζητήστε/δημιουργήστε Client ID και Client Secret στο Aspose Cloud Dashboard.

Deskew Image Online χρησιμοποιώντας Java

Ας εξερευνήσουμε τις λεπτομέρειες σχετικά με τον τρόπο αποσκλήρυνσης της εικόνας χρησιμοποιώντας απόσπασμα κώδικα Java. Για αυτό το παράδειγμα, φορτώνουμε την εικόνα TIFF από την τοπική μονάδα δίσκου και εφαρμόζουμε τη λειτουργία φωτογραφίας deskew. Το αρχείο που προκύπτει αποθηκεύεται στη συνέχεια στον χώρο αποθήκευσης cloud.

  • Αρχικά, δημιουργήστε ένα αντικείμενο του ImagingApi με βάση εξατομικευμένα διαπιστευτήρια πελάτη
  • Δεύτερον, δημιουργήστε μια δυαδική μεταβλητή που υποδεικνύει την αναλογική αλλαγή του μεγέθους της εικόνας
  • Τώρα διαβάστε το περιεχόμενο της πηγής TIFF χρησιμοποιώντας τη μέθοδο readAllBytes(…) και περάστε στον πίνακα byte[]
  • Το επόμενο βήμα είναι να δημιουργήσετε μια παρουσία του CreateDeskewedImageRequest που απαιτεί πίνακα Byte, προαιρετική παράμετρο για το χρώμα φόντου και το όνομα της προκύπτουσας φωτογραφίας deskew
  • Τέλος, καλέστε τη μέθοδο createDeskewedImage(…) σε deskew image. Το προκύπτον TIFF αποθηκεύεται σε αποθήκευση cloud
// Λάβετε ClientID και ClientSecret από https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// δημιουργία αντικειμένου απεικόνισης
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// ορίστε τη μεταβλητή για να αλλάξετε το μέγεθος της εικόνας με αναλογία
boolean resizeProportionally = true;
			
// πληροφορίες χρώματος φόντου
String bkColor = "white";

// φόρτωση αρχείου από την τοπική μονάδα δίσκου
File f = new File("DeskewSampleImage.tiff");

// διαβάστε το περιεχόμενο του πίνακα TIFF εικόνας σε byte
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// δημιουργήστε ένα αντικείμενο για να ορίσετε τις ιδιότητες της εικόνας deskew
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// Καθαρίστε τη φωτογραφία και αποθηκεύστε την έξοδο στο χώρο αποθήκευσης cloud
imageApi.createDeskewedImage(request);

Τώρα, εάν θέλετε να αποθηκεύσετε το προκύπτον TIFF σε μονάδα τοπικής/δικτυακής μονάδας, δοκιμάστε να χρησιμοποιήσετε το ακόλουθο απόσπασμα κώδικα.

// Λάβετε ClientID και ClientSecret από https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// δημιουργία αντικειμένου απεικόνισης
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// ορίστε τη μεταβλητή για να αλλάξετε το μέγεθος της εικόνας με αναλογία
boolean resizeProportionally = true;
			
// πληροφορίες χρώματος φόντου
String bkColor = "white";

// φόρτωση αρχείου από την τοπική μονάδα δίσκου
File f = new File("DeskewSampleImage.tif");

// διαβάστε το περιεχόμενο του πίνακα TIFF εικόνας σε byte
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// δημιουργήστε ένα αντικείμενο για να ορίσετε τις ιδιότητες της εικόνας deskew
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);

// Αφαιρέστε τη φωτογραφία και επιστρέψτε την έξοδο ως αντικείμενο ροής
byte[] updatedImage = imageApi.createDeskewedImage(request);

// διαδρομή για την αποθήκευση ενημερωμένης εικόνας TIFF
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();

// καλέστε το API για να αφαιρέσετε τη φωτογραφία και να αποθηκεύσετε στην τοπική μονάδα δίσκου
Files.write(path, updatedImage);
εικόνα επιφανείας

Προεπισκόπηση φωτογραφίας Deskew

Το δείγμα εικόνας TIFF που χρησιμοποιείται στο παραπάνω παράδειγμα μπορεί να ληφθεί από το DeskewSampleImage.tif.

Καθαρίστε το PDF χρησιμοποιώντας εντολές cURL

Ενδέχεται να λάβουμε ένα αρχείο PDF που περιέχει παραμορφωμένες εικόνες, επομένως μια γρήγορη λύση είναι να εξαγάγουμε εικόνες από το αρχείο PDF και στη συνέχεια να αφαιρέσουμε τις εικόνες. Τώρα, για να εκπληρώσουμε αυτήν την απαίτηση, θα χρησιμοποιήσουμε εδώ δύο Cloud API, π.χ. Aspose.PDF Cloud για να εξαγάγουμε εικόνες από αρχείο PDF και το Aspose.Imaging Cloud για να αφαιρέσουμε τις φωτογραφίες. Ωστόσο, πριν εκτελέσουμε οποιαδήποτε λειτουργία, πρέπει πρώτα να δημιουργήσουμε ένα διακριτικό πρόσβασης JWT (με βάση τα διαπιστευτήρια πελάτη) χρησιμοποιώντας την ακόλουθη εντολή.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Μόλις έχουμε το διακριτικό JWT, πρέπει να εξαγάγουμε εικόνες PDF χρησιμοποιώντας το GrayscaleImage API του Aspose.PDF Cloud. Οι εικόνες εξάγονται σε μορφή TIFF και αποθηκεύονται σε αποθήκευση cloud.

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/Resultant.pdf/pages/1/images/extract/tiff?width=0&height=0" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Τώρα που οι εικόνες εξάγονται από το αρχείο PDF ως μορφή TIFF, τώρα πρέπει να καλέσουμε το DeskewImage API του Aspose.Imaging Cloud για να αφαιρέσουμε την εικόνα. Εφόσον το αρχείο που προκύπτει επιστρέφεται σε ροή απόκρισης, μπορούμε να το αποθηκεύσουμε στην τοπική μας μονάδα δίσκου.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.tiff/deskew?resizeProportionally=true&bkColor=White" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Deskewed.tiff

συμπέρασμα

Μέχρι αυτή τη στιγμή, έχουμε μάθει μερικά εκπληκτικά και απλά βήματα για την αποσκήρυνση της εικόνας καθώς και την αποσκλήρυνση του PDF χρησιμοποιώντας το Java cloud SDK. Έτσι τώρα μπορούμε να εκπληρώσουμε τις απαιτήσεις μας είτε χρησιμοποιώντας απόσπασμα κώδικα Java είτε χρησιμοποιώντας τις εντολές cURL. Ταυτόχρονα, σας ενθαρρύνουμε να εξερευνήσετε την Τεκμηρίωση προϊόντος για να μάθετε περισσότερα σχετικά με άλλες συναρπαστικές δυνατότητες που προσφέρει το API.

Λάβετε υπόψη ότι όλα τα Cloud SDK έχουν αναπτυχθεί με άδεια MIT, ώστε να μπορείτε να λάβετε τον πλήρη πηγαίο κώδικα από το GitHub. Τέλος, σε περίπτωση που αντιμετωπίσετε προβλήματα κατά τη χρήση του API, μπορείτε να εξετάσετε το ενδεχόμενο να μας προσεγγίσετε για γρήγορη επίλυση μέσω του δωρεάν φόρουμ υποστήριξης προϊόντων.

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

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