Suuri määrä rasterikuvia, jotka saamme työ- ja henkilökohtaiseen käyttöön, ovat skannattuja kuvia joko digitaalisen skannerin kautta tai ne voivat olla kuvia mobiililaitteesta. Joten on olemassa kohtuulliset mahdollisuudet, että kuvan sisällä oleva teksti ei ole oikein kohdistettu ja kulkee sivun marginaalin yli joko vaaka- tai pystysuunnassa. Yksinkertaisesti sanottuna skannatut kuvat ovat usein vinossa (paperia liikutettiin/käännettiin) skannerissa. Nyt tällaisten ongelmien ratkaisemiseksi valitsemme tekniikan nimeltä deskewing, joka on prosessi, jossa vinous poistetaan kiertämällä kuvaa saman verran kuin sen vino, mutta vastakkaiseen suuntaan. Deskew-ominaisuus on erittäin hyödyllinen automaattisessa kuvankäsittelyssä, kun kuvat tulevat skannerista.
Nyt tässä artikkelissa tarkastelemme yksityiskohtia kuvan vääristämisestä Java Cloud SDK:n avulla. Vieroitustoiminto toimii siis kahdessa vaiheessa eli havaitsee kuvan vinokulman ja kiertää sitten kuvaa vinouden korjaamiseksi. Voimme soveltaa tätä toimintoa vastaanotetuissa fakseissa ja käyttämällä kuvassa olevaa tietoa (tekstiä) laskea kääntökulman, ei paperin marginaaleja ja toteuttaa vaatimuksen. Ymmärrämme kuitenkin, että kuvan vääristymä voidaan suorittaa 1-, 8- ja 24-bittisille värikuville.
Deskew Image API
Kuvien tukemiseksi Meillä on REST-pohjainen API, joka tarjoaa mahdollisuudet käsitellä kuvatiedostoja pilvessä. Nyt Java-sovelluksia varten olemme kehittäneet erityisesti Aspose.Imaging Cloud SDK for Java -sovelluksen, jonka avulla voit toteuttaa kuvankäsittelyominaisuuksia Java-koodin avulla. Nyt kun haluat muokata kuvia Java-pilvi SDK:lla, ensimmäinen askel on lisätä sen viite Java-projektiin sisällyttämällä seuraavat tiedot pom.xml-tiedostoon (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>
Seuraava vaihe on hankkia asiakkaan tunnistetiedot Cloud Dashboardista. Jos sinulla ei ole tiliä Aspose Cloud Dashboardin kautta, luo ilmainen tili kelvollisen sähköpostiosoitteen kautta. Kirjaudu nyt sisään äskettäin luodulla tilillä ja etsi/luo asiakastunnus ja asiakassalaisuus Aspose Cloud Dashboardissa.
Deskew Image Online Javalla
Katsotaanpa yksityiskohtia kuvan vääristämisestä Java-koodinpätkän avulla. Tässä esimerkissä lataamme TIFF-kuvaa paikalliselta asemalta ja käytämme kuvan vinoutumista. Tuloksena oleva tiedosto tallennetaan sitten pilvitallennustilaan.
- Luo ensin ImagingApi-objekti henkilökohtaisten asiakastunnistetietojen perusteella
- Toiseksi luo looginen muuttuja, joka osoittaa kuvan koon muuttamisen suhteessa
- Lue nyt lähde-TIFF:n sisältö readAllBytes(…) -menetelmällä ja siirry byte[]-taulukkoon
- Seuraava vaihe on luoda CreateDeskewedImageRequest-esiintymä, joka vaatii tavutaulukon, valinnaisen parametrin taustavärille ja tuloksena olevan deskew-kuvan nimen.
- Lopuksi kutsu menetelmä createDeskewedImage(…) kuvan vääristämiseksi. Tuloksena oleva TIFF tallennetaan pilvitallennustilaan
// Hanki ClientID ja ClientSecret osoitteesta https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// luoda kuvantamisobjektia
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// aseta muuttuja muuttaaksesi vinoutetun kuvan kokoa suhteessa
boolean resizeProportionally = true;
// taustaväritiedot
String bkColor = "white";
// lataa tiedosto paikalliselta asemalta
File f = new File("DeskewSampleImage.tiff");
// lue TIFF-kuvan sisältö tavuksi
byte[] inputStream = Files.readAllBytes(f.toPath());
// luoda objektin kuvan vääristymien ominaisuuksien määrittämiseksi
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);
// Väännä valokuva ja tallenna tulos pilvitallennustilaan
imageApi.createDeskewedImage(request);
Nyt jos haluat tallentaa tuloksena olevan TIFF:n paikalliselle/verkkoasemalle, yritä käyttää seuraavaa koodinpätkää.
// Hanki ClientID ja ClientSecret osoitteesta https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// luoda kuvantamisobjektia
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// aseta muuttuja muuttaaksesi vinoutetun kuvan kokoa suhteessa
boolean resizeProportionally = true;
// taustaväritiedot
String bkColor = "white";
// lataa tiedosto paikalliselta asemalta
File f = new File("DeskewSampleImage.tif");
// lue TIFF-kuvan sisältö tavuksi
byte[] inputStream = Files.readAllBytes(f.toPath());
// luoda objektin kuvan vääristymien ominaisuuksien määrittämiseksi
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);
// Poista valokuva ja palauta tulos stream-objektina
byte[] updatedImage = imageApi.createDeskewedImage(request);
// polku päivitetyn TIFF-kuvan tallentamiseen
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();
// soita API:lle kuvan vääristämiseksi ja tallentamiseksi paikalliselle asemalle
Files.write(path, updatedImage);
Yllä olevassa esimerkissä käytetty malli-TIFF-kuva voidaan ladata osoitteesta DeskewSampleImage.tif.
Muokkaa PDF-tiedostoja cURL-komennoilla
Saatamme vastaanottaa PDF-tiedoston, joka sisältää vääristyneitä kuvia, joten yksi nopea ratkaisu on poimia kuvat PDF-tiedostosta ja sitten vääristää kuvat. Tämän vaatimuksen täyttämiseksi aiomme käyttää tässä kahta pilvisovellusliittymää eli Aspose.PDF Cloud kuvien poimimiseen PDF-tiedostosta ja Aspose.Imaging Cloud kuvien vääristelyyn. Ennen kuin suoritamme mitään toimintoa, meidän on kuitenkin ensin luotava JWT-käyttöoikeustunnus (perustuu asiakkaan tunnistetietoihin) käyttämällä seuraavaa komentoa.
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"
Kun meillä on JWT-tunnus, meidän on purettava PDF-kuvat Aspose.PDF Cloudin GrayscaleImage API:n avulla. Kuvat puretaan TIFF-muodossa ja tallennetaan pilvitallennustilaan.
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>"
Nyt kun kuvat puretaan PDF-tiedostosta TIFF-muodossa, meidän on nyt kutsuttava Aspose.Imaging Cloudin DeskewImage API -sovellusta kuvan vääristämiseksi. Koska tuloksena oleva tiedosto palautetaan vastausvirrassa, voimme tallentaa sen paikalliselle asemallemme.
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
Johtopäätös
Tähän mennessä olemme oppineet hämmästyttäviä ja yksinkertaisia vaiheita kuvan vääristämiseksi sekä PDF-muodon vääristämiseksi Java-pilvi-SDK:n avulla. Joten nyt voimme täyttää vaatimuksemme joko Java-koodinpätkän tai cURL-komentojen avulla. Samalla kehotamme sinua tutustumaan Tuotedokumentaatioon saadaksesi lisätietoja muista API:n tarjoamista jännittävistä ominaisuuksista.
Huomaa, että kaikki Cloud SDK:t on kehitetty MIT-lisenssillä, joten koko lähdekoodi voidaan ladata GitHubista. Lopuksi, jos kohtaat ongelmia API:n käytössä, voit harkita ottamista meihin nopean ratkaisun saamiseksi ilmaisen tuotetukifoorumin kautta.
Aiheeseen liittyvät artikkelit
Saat lisätietoja seuraavista linkeistä: