Deskew Image

Deskew Image կամ Deskew PDF՝ օգտագործելով Java Cloud SDK

Մեծ թվով ռաստերային պատկերներ, որոնք մենք ստանում ենք աշխատանքային և անձնական օգտագործման համար, սկանավորված պատկերներ են կամ թվային սկաների միջոցով, կամ կարող են լինել շարժական սարքի նկար: Այսպիսով, կան արդար հնարավորություններ, որ պատկերի ներսում տեքստը պատշաճ կերպով չի դասավորված և անցնում է էջի լուսանցքով կամ հորիզոնական կամ ուղղահայաց: Պարզ բառերով ասած, սկանավորված պատկերները հաճախ շեղվում են (թուղթը տեղափոխվել/պտտվել է) սկաների վրա: Այժմ, որպեսզի լուծենք նման խնդիրները, մենք ընտրում ենք մի տեխնիկա, որը կոչվում է deskewing, որը գործընթաց է, երբ թեքությունը հեռացվում է պատկերը պտտելով նույն չափով, որքան դրա թեքությունը, բայց հակառակ ուղղությամբ: 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>https://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» լուսանկարչական գործողությունը: Արդյունքում ստացված ֆայլն այնուհետև պահվում է ամպային պահեստում:

  • Նախ, ստեղծեք ImagingApi-ի օբյեկտ՝ հիմնված անհատականացված հաճախորդի հավատարմագրերի վրա
  • Երկրորդ, ստեղծեք բուլյան փոփոխական, որը ցույց է տալիս պատկերի չափափոխումը համաչափ
  • Այժմ կարդացեք աղբյուրի TIFF-ի բովանդակությունը՝ օգտագործելով readAllBytes(…) մեթոդը և անցեք բայթ[] զանգվածին:
  • Հաջորդ քայլը CreateDeskewedImageRequest-ի օրինակ ստեղծելն է, որը պահանջում է բայթ զանգված, կամընտիր պարամետր ֆոնի գույնի համար և արդյունքում ստացված deskew լուսանկարի անվանումը:
  • Վերջում զանգահարեք createDeskewedImage(…) մեթոդը՝ deskew image: Արդյունքում ստացված 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());
					    
// ստեղծել օբյեկտ, որը սահմանում է deskew պատկերի հատկությունները
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());
					    
// ստեղծել օբյեկտ, որը սահմանում է 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 պատկերներ՝ օգտագործելով 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 ամպային SDK-ի միջոցով: Այսպիսով, այժմ մենք կարող ենք կատարել մեր պահանջները կամ օգտագործելով Java կոդի հատվածը կամ օգտագործելով cURL հրամանները: Միևնույն ժամանակ, մենք մեծապես խրախուսում ենք ձեզ ուսումնասիրել Product Documentation՝ API-ի կողմից առաջարկվող այլ հետաքրքիր գործառույթների մասին ավելին իմանալու համար:

Խնդրում ենք նկատի ունենալ, որ մեր բոլոր Cloud SDK-ները մշակված են MIT լիցենզիայի ներքո, որպեսզի ամբողջական աղբյուրի կոդը հնարավոր լինի ներբեռնել GitHub-ից: Ի վերջո, եթե API-ն օգտագործելիս որևէ խնդիր հանդիպեք, կարող եք մտածել մեզ մոտենալու արագ լուծման համար անվճար ապրանքի աջակցման ֆորումի միջոցով:

Առնչվող հոդվածներ

Խնդրում ենք այցելել հետևյալ հղումները՝ ավելին իմանալու համար.