Görüntüyü Eğrileştir

Java Cloud SDK kullanarak Görüntünün Eğriliğini Düzelt veya PDF’nin Eğriliğini Düzelt

İş ve kişisel kullanım için aldığımız çok sayıda raster görüntü, dijital tarayıcı aracılığıyla taranan görüntülerdir veya mobil cihazdan bir resim olabilir. Bu nedenle, bir görüntünün içindeki metnin düzgün şekilde hizalanmaması ve sayfa kenar boşluğunda yatay veya dikey olarak ilerlemesi ihtimali yüksektir. Basit bir ifadeyle, taranan görüntüler genellikle tarayıcıda eğri (kağıt hareket ettirildi/döndürüldü). Şimdi bu tür sorunları çözmek için, bir görüntüyü çarpıklığıyla aynı miktarda ancak ters yönde döndürerek eğriliğin giderildiği bir işlem olan eğrilik düzeltme adlı bir tekniği tercih ediyoruz. Eğriliği Düzeltme özelliği, görüntüler bir tarayıcıdan geldiğinde otomatik görüntü işlemede son derece kullanışlıdır.

Şimdi bu yazıda, Java Cloud SDK kullanarak görüntünün eğriliğini düzeltmenin ayrıntılarına bakıyoruz. Böylece eğrilik düzeltme işlevi iki adımda çalışır, yani görüntünün eğrilik açısını algılar ve ardından eğriliği düzeltmek için görüntüyü döndürür. Bu işlemi gelen fakslar üzerinde uygulayabilir ve resimdeki bilgileri (metin) kullanarak kağıdın kenar boşluklarını değil dönüş açısını hesaplayabilir ve gereğini yerine getirebiliriz. Bununla birlikte, görüntü eğrilik düzeltme işleminin 1 bit, 8 bit ve 24 bit renkli görüntülerde yapılabileceğini biliyoruz.

Görüntü API’sini Eğrileştir

Görüntüyü desteklemek için Buluttaki görüntü dosyalarını işleme yetenekleri sunan REST tabanlı API’ye sahibiz. Şimdi Java uygulamaları için, Java kodu aracılığıyla görüntü işleme yeteneklerini uygulamanıza olanak sağlayan Aspose.Imaging Cloud SDK for Java‘yı özel olarak geliştirdik. Şimdi Java bulut SDK kullanarak görüntülerin eğriliğini düzeltmek için ilk adım, pom.xml’de (maven derleme tipi proje) aşağıdaki bilgileri dahil ederek referansını java projesine eklemektir.

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

Sonraki adım, Cloud Dashboard’tan müşteri kimlik bilgilerini almaktır ve Aspose Cloud Dashboard üzerinde bir hesabınız yoksa, lütfen geçerli bir e-posta adresi aracılığıyla ücretsiz bir hesap oluşturun. Şimdi yeni oluşturulan hesabı kullanarak oturum açın ve Aspose Cloud Dashboard’da Client ID ve Client Secret’ı arayın/oluşturun.

Java kullanarak Çevrimiçi Görüntünün Eğriliğini Düzeltme

Java kod parçacığını kullanarak görüntünün eğriliğini nasıl düzelteceğimize ilişkin ayrıntıları keşfedelim. Bu örnek için, yerel sürücüden TIFF görüntüsü yüklüyoruz ve fotoğrafın eğriliğini düzeltme işlemini uyguluyoruz. Ortaya çıkan dosya daha sonra bulut depolama alanına kaydedilir.

  • İlk olarak, kişiselleştirilmiş müşteri kimlik bilgilerine dayalı olarak bir ImagingApi nesnesi oluşturun
  • İkinci olarak, görüntüyü orantılı olarak yeniden boyutlandırmayı gösteren bir boolean değişkeni oluşturun.
  • Şimdi readAllBytes(…) yöntemini kullanarak kaynak TIFF içeriğini okuyun ve byte[] dizisine geçin
  • Bir sonraki adım, Byte dizisi, arka plan rengi için isteğe bağlı parametre ve ortaya çıkan eğrilik düzeltme fotoğrafının adını gerektiren bir CreateDeskewedImageRequest örneği oluşturmaktır.
  • Son olarak, görüntünün eğriliğini düzeltmek için createDeskewedImage(…) yöntemini çağırın. Ortaya çıkan TIFF, bulut depolama alanında depolanır
// https://dashboard.aspose.cloud/ adresinden ClientID ve ClientSecret'i edinin
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// Görüntüleme nesnesi oluştur
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// eğriliği düzeltilmiş görüntüyü orantılı olarak yeniden boyutlandırmak için değişkeni ayarla
boolean resizeProportionally = true;
			
// arka plan rengi bilgisi
String bkColor = "white";

// yerel sürücüden dosya yükle
File f = new File("DeskewSampleImage.tiff");

// TIFF görüntüsünün içeriğini bayt dizisine oku
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// Eğriliği düzelt görüntü özelliklerini tanımlamak için bir nesne oluşturun
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);

// Fotoğrafın eğriliğini düzeltin ve çıktıyı bulut depolamaya kaydedin
imageApi.createDeskewedImage(request);

Şimdi, ortaya çıkan TIFF’i yerel/ağ sürücüsüne kaydetmek istiyorsanız, lütfen aşağıdaki kod parçacığını kullanmayı deneyin.

// https://dashboard.aspose.cloud/ adresinden ClientID ve ClientSecret'i edinin
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// Görüntüleme nesnesi oluştur
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// eğriliği düzeltilmiş görüntüyü orantılı olarak yeniden boyutlandırmak için değişkeni ayarla
boolean resizeProportionally = true;
			
// arka plan rengi bilgisi
String bkColor = "white";

// yerel sürücüden dosya yükle
File f = new File("DeskewSampleImage.tif");

// TIFF görüntüsünün içeriğini bayt dizisine oku
byte[] inputStream = Files.readAllBytes(f.toPath());
					    
// Eğriliği düzelt görüntü özelliklerini tanımlamak için bir nesne oluşturun
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);

// Fotoğrafın eğriliğini düzeltin ve çıktıyı akış nesnesi olarak döndürün
byte[] updatedImage = imageApi.createDeskewedImage(request);

// güncellenmiş TIFF görüntüsünü saklama yolu
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();

// Fotoğrafı çarpıtmak ve yerel sürücüye kaydetmek için API'yi arayın
Files.write(path, updatedImage);
çarpık görüntü

Fotoğraf önizlemesini düzelt

Yukarıdaki örnekte kullanılan örnek TIFF görüntüsü DeskewSampleImage.tif adresinden indirilebilir.

CURL Komutlarını Kullanarak PDF’nin Eğriliğini Düzeltin

Eğriliği düzeltilmiş görüntüler içeren bir PDF dosyası alabiliriz, bu nedenle hızlı bir çözüm, görüntüleri PDF dosyasından çıkarmak ve ardından görüntülerin eğriliğini düzeltmektir. Şimdi bu gerekliliği yerine getirmek için burada iki Cloud API kullanacağız, yani PDF dosyasından görüntüleri çıkarmak için Aspose.PDF Cloud ve fotoğrafların eğriliğini gidermek için Aspose.Imaging Cloud. Ancak, herhangi bir işlem gerçekleştirmeden önce, aşağıdaki komutu kullanarak (istemci kimlik bilgilerine dayalı olarak) bir JWT erişim belirteci oluşturmamız gerekir.

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 belirtecine sahip olduğumuzda, Aspose.PDF Cloud’un GrayscaleImage API’sini kullanarak PDF görüntülerini çıkarmamız gerekir. Görüntüler TIFF formatında çıkarılır ve bulut depolama alanında saklanır.

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

Artık resimler PDF dosyasından TIFF formatında ayıklandığına göre, şimdi resmin eğriliğini düzeltmek için Aspose.Imaging Cloud’un DeskewImage API’sini çağırmamız gerekiyor. Ortaya çıkan dosya yanıt akışında döndürüldüğünden, onu yerel sürücümüze kaydedebiliriz.

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

Çözüm

Bu zamana kadar, Java bulut SDK kullanarak görüntünün eğriliğini düzeltmenin yanı sıra PDF’nin eğriliğini düzeltmenin bazı harika ve basit adımlarını öğrendik. Artık gereksinimlerimizi Java kod parçacığını kullanarak veya cURL komutlarını kullanarak gerçekleştirebiliriz. Aynı zamanda, API tarafından sunulan diğer heyecan verici özellikler hakkında daha fazla bilgi edinmek için Ürün Belgelerini keşfetmenizi önemle tavsiye ederiz.

Lütfen tüm Bulut SDK’larımızın MIT lisansı altında geliştirildiğini ve bu nedenle eksiksiz kaynak kodunun GitHub‘dan indirilebileceğini unutmayın. Son olarak, API’yi kullanırken herhangi bir sorunla karşılaşırsanız, hızlı bir çözüm için ücretsiz ürün destek forumu aracılığıyla bize ulaşmayı düşünebilirsiniz.

İlgili Makaleler

Hakkında daha fazla bilgi edinmek için lütfen aşağıdaki bağlantıları ziyaret edin: