Deskew გამოსახულება

Deskew Image ან Deskew PDF Java Cloud SDK-ის გამოყენებით

რასტრული სურათების დიდი რაოდენობა, რომლებსაც ვიღებთ სამუშაო და პირადი გამოყენებისთვის, არის სკანირებული სურათები ციფრული სკანერის საშუალებით ან შეიძლება იყოს სურათი მობილური მოწყობილობიდან. ასე რომ, არსებობს სამართლიანი შანსი, რომ სურათის შიგნით ტექსტი არ იყოს სათანადოდ გასწორებული და გადის გვერდის კიდეზე ჰორიზონტალურად ან ვერტიკალურად. მარტივი სიტყვებით, სკანირებული სურათები ხშირად სკანერზე არის დახრილი (ქაღალდი გადაადგილდა/მოტრიალდა). ახლა, ასეთი პრობლემების გადასაჭრელად, ჩვენ ვირჩევთ ტექნიკას სახელად deskewing, რომელიც არის პროცესი, რომლის დროსაც დახრილობა ამოღებულია გამოსახულების იმავე ოდენობით როტაციით, როგორც მისი დახრილობა, მაგრამ საპირისპირო მიმართულებით. Deskew ფუნქცია ძალზე სასარგებლოა გამოსახულების ავტომატური დამუშავებისას, როდესაც სურათები მოდის სკანერიდან.

ახლა ამ სტატიაში, ჩვენ განვიხილავთ დეტალებს, თუ როგორ უნდა მოხდეს სურათის Deskew Java Cloud SDK გამოყენებით. ასე რომ, deskew ფუნქცია მუშაობს ორ ეტაპად, ანუ აღმოაჩენს გამოსახულების დახრილობის კუთხეს და შემდეგ აბრუნებს სურათს დახრის გამოსასწორებლად. ჩვენ შეგვიძლია გამოვიყენოთ ეს ოპერაცია მიღებულ ფაქსებზე და სურათზე არსებული ინფორმაციის (ტექსტის) გამოყენებით, გამოვთვალოთ ბრუნვის კუთხე და არა ქაღალდის მინდვრები და შევასრულოთ მოთხოვნა. მიუხედავად ამისა, ჩვენ გვესმის, რომ გამოსახულების დესკოპის ოპერაცია შეიძლება შესრულდეს 1 ბიტიან, 8 ბიტიან და 24 ბიტიან ფერად სურათებზე.

Deskew Image API

სურათის მხარდასაჭერად ჩვენ გვაქვს REST დაფუძნებული API, რომელიც გვთავაზობს Cloud-ში სურათების ფაილების მანიპულირების შესაძლებლობებს. ახლა Java აპლიკაციებისთვის ჩვენ სპეციალურად შევიმუშავეთ Aspose.Imaging Cloud SDK for Java, რომელიც საშუალებას გაძლევთ განახორციელოთ სურათების დამუშავების შესაძლებლობები Java კოდის საშუალებით. ახლა იმისათვის, რომ გამოსახულებები Java-ს ღრუბლოვანი SDK-ის გამოყენებით გადავამოწმოთ, პირველი ნაბიჯი არის მისი მითითების დამატება java პროექტში შემდეგი ინფორმაციის დამატებით pom.xml-ში (maven build type project).

<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-ზე, გთხოვთ, შექმნათ უფასო ანგარიში მოქმედი ელფოსტის მისამართით. ახლა შედით სისტემაში ახლად შექმნილი ანგარიშის გამოყენებით და მოძებნეთ/შექმენით კლიენტის ID და კლიენტის საიდუმლო Aspose Cloud Dashboard-ზე.

Deskew Image Online Java-ს გამოყენებით

მოდით გამოვიკვლიოთ დეტალები იმის შესახებ, თუ როგორ უნდა მოაწყოთ სურათი Java კოდის ფრაგმენტის გამოყენებით. ამ მაგალითისთვის, ჩვენ ვტვირთავთ TIFF სურათს ლოკალური დისკიდან და ვიყენებთ deskew photo ოპერაციას. შედეგად მიღებული ფაილი შემდეგ ინახება ღრუბლოვან საცავში.

  • პირველ რიგში, შექმენით ImagingApi-ს ობიექტი პერსონალიზებული კლიენტის სერთიფიკატების საფუძველზე
  • მეორეც, შექმენით ლოგიკური ცვლადი, რომელიც მიუთითებს სურათის ზომის შეცვლაზე პროპორციულად
  • ახლა წაიკითხეთ წყაროს TIFF შინაარსი readAllBytes(…) მეთოდის გამოყენებით და გადადით ბაიტის[] მასივზე
  • შემდეგი ნაბიჯი არის CreateDeskewedImageRequest-ის ეგზემპლარის შექმნა, რომელიც მოითხოვს ბაიტის მასივს, არასავალდებულო პარამეტრს ფონის ფერისთვის და შედეგიანი დესკუს ფოტოს სახელს.
  • დაბოლოს, გამოიძახეთ მეთოდი createDeskewedImage(…) გამოსახულების გამოსახულების გასასწორებლად. შედეგად მიღებული 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.tiff");

// წაიკითხეთ TIFF გამოსახულების შინაარსი ბაიტამდე
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// შექმენით ობიექტი, რათა განისაზღვროს დესკუს გამოსახულების თვისებები
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// გადახედეთ ფოტოს და შეინახეთ გამოსავალი ღრუბლოვან საცავში
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[] inputStream = Files.readAllBytes(f.toPath());
					    
// შექმენით ობიექტი, რათა განისაზღვროს დესკუს გამოსახულების თვისებები
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 სურათების ამონაწერი Aspose.PDF Cloud-ის GrayscaleImage API-ის გამოყენებით. სურათები ამოღებულია TIFF ფორმატში და ინახება ღრუბლოვან საცავში.

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 ფორმატში, ახლა ჩვენ უნდა გამოვიძახოთ Aspose.Imaging Cloud-ის DeskewImage API გამოსახულების დესკოპისთვის. ვინაიდან შედეგად მიღებული ფაილი ბრუნდება საპასუხო ნაკადში, ჩვენ შეგვიძლია მისი შენახვა ადგილობრივ დისკზე.

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-ს გამოყენებისას რაიმე პრობლემა შეგექმნებათ, შეგიძლიათ მოგვმართოთ სწრაფი გადაწყვეტისთვის უფასო [პროდუქტის მხარდაჭერის ფორუმის] მეშვეობით 9.

დაკავშირებული სტატიები

გთხოვთ ეწვიოთ შემდეგ ბმულებს მეტი ინფორმაციისთვის: