Deskew attēls

Izkropļot attēlu vai novirzīt PDF, izmantojot Java Cloud SDK

Liels skaits rastra attēlu, ko saņemam darbam un personiskai lietošanai, ir skenēti attēli, izmantojot digitālo skeneri, vai arī attēli no mobilās ierīces. Tāpēc pastāv lielas izredzes, ka teksts attēlā nav pareizi līdzināts un iet pāri lapas piemalei vai nu horizontāli, vai vertikāli. Vienkāršiem vārdiem sakot, skenētie attēli skenerā bieži ir šķībi (papīrs tika pārvietots/pagriezts). Tagad, lai atrisinātu šādas problēmas, mēs izvēlamies paņēmienu, ko sauc par šķībumu, kas ir process, kurā šķībums tiek noņemts, pagriežot attēlu par tādu pašu vērtību kā tā šķībums, bet pretējā virzienā. Funkcija Deskew ir ļoti noderīga automatizētā attēlu apstrādē, kad attēli nāk no skenera.

Tagad šajā rakstā mēs aplūkojam detalizētu informāciju par attēla izkliedēšanu, izmantojot Java Cloud SDK. Tādējādi šķībuma funkcija darbojas divos posmos, ti, nosaka attēla slīpuma leņķi un pēc tam pagriež attēlu, lai labotu šķībumu. Mēs varam pielietot šo darbību saņemtajiem faksiem un izmantojot informāciju (tekstu) uz attēla, aprēķināt rotācijas leņķi, nevis papīra malas un izpildīt prasību. Tomēr mēs saprotam, ka attēla novirzīšanas darbību var veikt 1 bitu, 8 bitu un 24 bitu krāsu attēliem.

Deskew Image API

Lai atbalstītu attēlu, mums ir REST balstīta API, kas piedāvā iespējas manipulēt ar attēlu failiem mākonī. Tagad Java lietojumprogrammām esam īpaši izstrādājuši Aspose.Imaging Cloud SDK for Java, kas ļauj ieviest attēlu apstrādes iespējas, izmantojot Java kodu. Tagad, lai atdalītu attēlus, izmantojot Java mākoņa SDK, pirmais solis ir pievienot tā atsauci java projektā, iekļaujot šādu informāciju failā 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>

Nākamā darbība ir klienta akreditācijas datu iegūšana no Cloud Dashboard un, ja jums nav konta, izmantojot Aspose Cloud Dashboard, lūdzu, izveidojiet bezmaksas kontu, izmantojot derīgu e-pasta adresi. Tagad piesakieties, izmantojot jaunizveidoto kontu, un uzmeklējiet/izveidojiet klienta ID un klienta noslēpumu Aspose Cloud Dashboard.

Deskew Image tiešsaistē, izmantojot Java

Izpētīsim detalizētu informāciju par attēla izkropļošanu, izmantojot Java koda fragmentu. Šajā piemērā mēs ielādējam TIFF attēlu no vietējā diska un piemērojam fotoattēlu novirzīšanas darbību. Pēc tam iegūtais fails tiek saglabāts mākoņa krātuvē.

  • Pirmkārt, izveidojiet ImagingApi objektu, pamatojoties uz personalizētiem klienta akreditācijas datiem
  • Otrkārt, izveidojiet Būla mainīgo, kas norāda proporcionāli mainīt attēla izmēru
  • Tagad izlasiet avota TIFF saturu, izmantojot metodi readAllBytes (…) un pārejiet uz baitu [] masīvu
  • Nākamais solis ir izveidot CreateDeskewedImageRequest gadījumu, kam nepieciešams baitu masīvs, izvēles parametrs fona krāsai un iegūtā deskew fotoattēla nosaukums.
  • Visbeidzot, izsauciet metodi createDeskewedImage(…), lai izmainītu attēlu. Iegūtais TIFF tiek glabāts mākoņkrātuvē
// Iegūstiet ClientID un ClientSecret no https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// izveidot attēlveidošanas objektu
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// iestatiet mainīgo, lai proporcionāli mainītu sašķiebtā attēla izmēru
boolean resizeProportionally = true;
			
// informācija par fona krāsu
String bkColor = "white";

// ielādējiet failu no vietējā diska
File f = new File("DeskewSampleImage.tiff");

// lasīt TIFF attēla saturu uz baitu masīvu
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// izveidot objektu, lai definētu attēla novirzes īpašības
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// Izgrieziet fotoattēlu un saglabājiet izvadi mākoņa krātuvē
imageApi.createDeskewedImage(request);

Tagad, ja vēlaties saglabāt iegūto TIFF lokālajā/tīkla diskā, lūdzu, mēģiniet izmantot šo koda fragmentu.

// Iegūstiet ClientID un ClientSecret no https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// izveidot attēlveidošanas objektu
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// iestatiet mainīgo, lai proporcionāli mainītu sašķiebtā attēla izmēru
boolean resizeProportionally = true;
			
// informācija par fona krāsu
String bkColor = "white";

// ielādējiet failu no vietējā diska
File f = new File("DeskewSampleImage.tif");

// lasīt TIFF attēla saturu uz baitu masīvu
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// izveidot objektu, lai definētu attēla novirzes īpašības
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);

// Izkropļot fotoattēlu un atgriezt izvadi kā straumes objektu
byte[] updatedImage = imageApi.createDeskewedImage(request);

// ceļš, lai saglabātu atjauninātu TIFF attēlu
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();

// izsauciet API, lai fotoattēlu novirzītu un saglabātu vietējā diskā
Files.write(path, updatedImage);
šķībs attēls

Izkropļot fotoattēla priekšskatījumu

Iepriekš minētajā piemērā izmantoto TIFF attēla paraugu var lejupielādēt no vietnes DeskewSampleImage.tif.

Izkropļot PDF, izmantojot cURL komandas

Mēs varam saņemt PDF failu, kurā ir sašķiebti attēli, tāpēc viens ātrs risinājums ir izvilkt attēlus no PDF faila un pēc tam izgriezt attēlus. Tagad, lai izpildītu šo prasību, mēs šeit izmantosim divas mākoņa API, ti, Aspose.PDF Cloud, lai izvilktu attēlus no PDF faila, un Aspose.Imaging Cloud, lai novirzītu fotoattēlus. Tomēr, pirms mēs veicam jebkādu darbību, vispirms mums ir jāģenerē JWT piekļuves pilnvara (pamatojoties uz klienta akreditācijas datiem), izmantojot šo komandu.

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"

Kad mums ir JWT marķieris, mums ir jāizņem PDF attēli, izmantojot Aspose.PDF Cloud GrayscaleImage API. Attēli tiek iegūti TIFF formātā un tiek glabāti mākoņkrātuvē.

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

Tagad, kad attēli tiek izvilkti no PDF faila TIFF formātā, tagad mums ir jāizsauc DeskewImage API no Aspose.Imaging Cloud, lai attēlu novirzītu. Tā kā iegūtais fails tiek atgriezts atbildes straumē, mēs varam to saglabāt mūsu vietējā diskdzinī.

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

Secinājums

Līdz tam laikam mēs esam iemācījušies dažas pārsteidzošas un vienkāršas darbības, lai izmainītu attēlu, kā arī novirzītu PDF, izmantojot Java mākoņa SDK. Tagad mēs varam izpildīt savas prasības, izmantojot Java koda fragmentu vai cURL komandas. Tajā pašā laikā mēs ļoti iesakām izpētīt Produkta dokumentāciju, lai uzzinātu vairāk par citām aizraujošām funkcijām, ko piedāvā API.

Lūdzu, ņemiet vērā, ka visi mūsu mākoņa SDK ir izstrādāti saskaņā ar MIT licenci, tāpēc visu avota kodu var lejupielādēt no vietnes GitHub. Visbeidzot, ja saskaraties ar problēmām, izmantojot API, varat vērsties pie mums, lai ātri atrisinātu to, izmantojot bezmaksas produktu atbalsta forumu.

Saistītie raksti

Lūdzu, apmeklējiet šīs saites, lai uzzinātu vairāk par: