Deskew vaizdas

Deskew Image arba Deskew PDF naudojant Java Cloud SDK

Daug rastrinių vaizdų, kuriuos gauname darbui ir asmeniniam naudojimui, yra nuskaityti vaizdai naudojant skaitmeninį skaitytuvą arba nuotrauka iš mobiliojo įrenginio. Taigi yra nemaža tikimybė, kad tekstas paveikslėlyje nėra tinkamai išlygiuotas ir eina per puslapio paraštę horizontaliai arba vertikaliai. Paprastais žodžiais tariant, nuskaityti vaizdai dažnai yra iškreipti (popierius buvo perkeltas / pasuktas) ant skaitytuvo. Dabar, norėdami išspręsti tokias problemas, pasirenkame techniką, pavadintą deskewing, kuris yra procesas, kurio metu iškreipimas pašalinamas sukant vaizdą tokiu pat dydžiu kaip ir jo pakreipimas, bet priešinga kryptimi. Deskew funkcija yra labai naudinga automatizuotam vaizdų apdorojimui, kai vaizdai gaunami iš skaitytuvo.

Dabar šiame straipsnyje nagrinėjame išsamią informaciją apie tai, kaip pakeisti vaizdą naudojant „Java Cloud SDK“. Taigi iškreipimo funkcija veikia dviem etapais, ty aptinka vaizdo pasvirimo kampą ir pasuka vaizdą, kad ištaisytų kreivumą. Šią operaciją galime pritaikyti gautoms faksogramoms ir naudodamiesi informacija (tekstu) vaizde, apskaičiuoti pasukimo kampą, o ne popieriaus paraštes ir įvykdyti reikalavimą. Nepaisant to, suprantame, kad vaizdo iškraipymo operacija gali būti atliekama su 1 bitų, 8 bitų ir 24 bitų spalvotais vaizdais.

Deskew Image API

Siekdami palaikyti vaizdą, turime REST pagrįstą API, siūlančią manipuliuoti vaizdų failais debesyje. Dabar Java programoms specialiai sukūrėme Aspose.Imaging Cloud SDK for Java, leidžiantį įdiegti vaizdo apdorojimo galimybes naudojant Java kodą. Dabar norint pakeisti vaizdus naudojant „Java“ debesies SDK, pirmas žingsnis yra įtraukti jo nuorodą į „Java“ projektą įtraukiant šią informaciją į pom.xml (maven build tipo projektas).

<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>

Kitas veiksmas – gauti kliento kredencialus iš Cloud Dashboard ir, jei neturite Aspose Cloud Dashboard paskyros, susikurkite nemokamą paskyrą naudodami galiojantį el. pašto adresą. Dabar prisijunkite naudodami naujai sukurtą paskyrą ir ieškokite / sukurkite kliento ID ir kliento paslaptį „Aspose Cloud Dashboard“.

Deskew Image Online naudojant Java

Išnagrinėkime išsamią informaciją, kaip pakeisti vaizdą naudojant „Java“ kodo fragmentą. Šiame pavyzdyje mes įkeliame TIFF vaizdą iš vietinio disko ir taikome nuotraukos iškraipymo operaciją. Tada gautas failas išsaugomas debesies saugykloje.

  • Pirma, sukurkite „ImagingApi“ objektą pagal suasmenintus kliento kredencialus
  • Antra, sukurkite loginį kintamąjį, kuris nurodo proporcingai pakeisti vaizdo dydį
  • Dabar perskaitykite šaltinio TIFF turinį naudodami readAllBytes (…) metodą ir perkelkite į baitų [] masyvą
  • Kitas veiksmas yra sukurti CreateDeskewedImageRequest egzempliorių, kuriam reikalingas baitų masyvas, pasirenkamas fono spalvos parametras ir gautos deskew nuotraukos pavadinimas.
  • Galiausiai, norėdami pakeisti vaizdą, iškvieskite metodą createDeskewedImage(…). Gautas TIFF saugomas debesies saugykloje
// Gaukite ClientID ir ClientSecret iš https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// sukurti vaizdo objektą
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// nustatyti kintamąjį, kad proporcingai pakeistų iškreipto vaizdo dydį
boolean resizeProportionally = true;
			
// informacija apie fono spalvą
String bkColor = "white";

// įkelti failą iš vietinio disko
File f = new File("DeskewSampleImage.tiff");

// skaityti TIFF vaizdo turinį į baitų masyvą
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// sukurti objektą, skirtą nukrypti nuo vaizdo savybių
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// Iškraipykite nuotrauką ir išsaugokite išvestį debesies saugykloje
imageApi.createDeskewedImage(request);

Dabar, jei norite išsaugoti gautą TIFF vietiniame / tinklo diske, pabandykite naudoti šį kodo fragmentą.

// Gaukite ClientID ir ClientSecret iš https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// sukurti vaizdo objektą
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// nustatyti kintamąjį, kad proporcingai pakeistų iškreipto vaizdo dydį
boolean resizeProportionally = true;
			
// informacija apie fono spalvą
String bkColor = "white";

// įkelti failą iš vietinio disko
File f = new File("DeskewSampleImage.tif");

// skaityti TIFF vaizdo turinį į baitų masyvą
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// sukurti objektą, skirtą nukrypti nuo vaizdo savybių
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);

// Iškraipykite nuotrauką ir grąžinkite išvestį kaip srauto objektą
byte[] updatedImage = imageApi.createDeskewedImage(request);

// kelias, skirtas saugoti atnaujintą TIFF vaizdą
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();

// iškvieskite API, kad pakeistumėte nuotrauką ir išsaugotumėte vietiniame diske
Files.write(path, updatedImage);
iškreiptas vaizdas

Deskew nuotraukos peržiūra

Pirmiau pateiktame pavyzdyje naudotą TIFF vaizdo pavyzdį galima atsisiųsti iš DeskewSampleImage.tif.

Iškraipykite PDF naudodami cURL komandas

Galime gauti PDF failą, kuriame yra iškreiptų vaizdų, todėl vienas greitas sprendimas yra ištraukti vaizdus iš PDF failo ir tada iškraipyti vaizdus. Dabar, norėdami įvykdyti šį reikalavimą, čia naudosime dvi debesies API, ty Aspose.PDF Cloud, kad ištrauktume vaizdus iš PDF failo, ir Aspose.Imaging Cloud, kad pakeistume nuotraukas. Tačiau prieš atlikdami bet kokią operaciją, pirmiausia turime sugeneruoti JWT prieigos raktą (pagal kliento kredencialus) naudodami šią komandą.

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"

Kai turėsime JWT prieigos raktą, turime išgauti PDF vaizdus naudodami Aspose.PDF Cloud GrayscaleImage API. Vaizdai išgaunami TIFF formatu ir saugomi debesies saugykloje.

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>"

Dabar, kai vaizdai yra išgaunami iš PDF failo TIFF formatu, dabar turime iškviesti Aspose.Imaging Cloud DeskewImage API, kad pakeistume vaizdą. Kadangi gautas failas grąžinamas atsakymo sraute, galime jį išsaugoti vietiniame diske.

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

Išvada

Iki to laiko išmokome keletą nuostabių ir paprastų žingsnių, kaip pakeisti vaizdą ir iškreipti PDF naudojant „Java“ debesies SDK. Taigi dabar galime įvykdyti savo reikalavimus naudodami „Java“ kodo fragmentą arba naudodami cURL komandas. Tuo pat metu labai raginame ištirti Produkto dokumentaciją, kad sužinotumėte daugiau apie kitas įdomias API siūlomas funkcijas.

Atminkite, kad visi mūsų debesies SDK yra sukurti pagal MIT licenciją, todėl visą šaltinio kodą galima atsisiųsti iš GitHub. Galiausiai, jei naudodamiesi API susidursite su problemomis, galite susisiekti su mumis dėl greito sprendimo per nemokamą produkto palaikymo forumą.

susiję straipsniai

Norėdami sužinoti daugiau apie tai, apsilankykite šiose nuorodose: