
Java Cloud SDK を使用した画像または PDF の傾き補正
仕事用および個人用に受け取る多数のラスター画像は、デジタル スキャナーを介してスキャンされた画像であるか、モバイル デバイスからの画像である可能性があります。そのため、画像内のテキストが適切に配置されておらず、水平または垂直にページの余白をはみ出す可能性がかなりあります。簡単に言えば、スキャナー上でスキャンされた画像が歪んでいる (紙が移動/回転した) ことがよくあります。このような問題を解決するために、画像をその傾きと同じ量だけ逆方向に回転させることによって傾きを除去するプロセスである傾き補正という手法を採用しています。傾き補正機能は、イメージがスキャナから取得された場合の自動イメージ処理で非常に役立ちます。
この記事では、Java Cloud SDK を使用して画像の傾きを補正する方法について詳しく説明します。そのため、傾き補正機能は 2 つのステップで動作します。つまり、画像の傾き角度を検出し、画像を回転して傾きを修正します。この操作を受信した FAX に適用し、画像の情報 (テキスト) を使用して、用紙の余白ではなく回転角度を計算し、要件を達成できます。それにもかかわらず、画像のデスキュー操作は 1 ビット、8 ビット、および 24 ビットのカラー画像で実行できることを理解しています。
傾き補正画像 API
画像をサポートするために、クラウド内の画像ファイルを操作する機能を提供する REST ベースの API があります。 Java アプリケーション向けに、Java コードを介して画像処理機能を実装できる Aspose.Imaging Cloud SDK for Java を特別に開発しました。 Java クラウド SDK を使用してイメージをデスキューするために、最初のステップは、pom.xml (maven ビルド タイプ プロジェクト) に次の情報を含めて、Java プロジェクトにその参照を追加することです。
<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>
次のステップは、Cloud Dashboard からクライアント資格情報を取得することです。Aspose Cloud Dashboard のアカウントを持っていない場合は、有効な電子メール アドレスから無料のアカウントを作成してください。新しく作成したアカウントを使用してログインし、Aspose Cloud Dashboard でクライアント ID とクライアント シークレットを検索/作成します。
Java を使用したオンラインでのイメージの傾き補正
Java コード スニペットを使用して画像の傾きを補正する方法について詳しく見ていきましょう。この例では、ローカル ドライブから TIFF イメージをロードし、写真の傾き補正操作を適用します。結果のファイルは、クラウド ストレージに保存されます。
- まず、パーソナライズされたクライアント資格情報に基づいて ImagingApi のオブジェクトを作成します
- 次に、画像のサイズを比例的に変更することを示すブール変数を作成します
- readAllBytes(…) メソッドを使用してソース TIFF のコンテンツを読み取り、byte[] 配列に渡します。
- 次のステップでは、CreateDeskewedImageRequest のインスタンスを作成します。これには、Byte 配列、背景色のオプション パラメータ、および結果の傾き補正写真の名前が必要です。
- 最後に、メソッド createDeskewedImage(…) を呼び出して、画像の傾きを補正します。結果のTIFFはクラウドストレージに保存されます
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
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());
// 傾き補正イメージ プロパティを定義するオブジェクトを作成する
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);
// 写真の傾き補正と出力のクラウド ストレージへの保存
imageApi.createDeskewedImage(request);
結果の TIFF をローカル/ネットワーク ドライブに保存する場合は、次のコード スニペットを使用してみてください。
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
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());
// 傾き補正イメージ プロパティを定義するオブジェクトを作成する
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);

写真プレビューの傾き補正
上記の例で使用されているサンプル TIFF イメージは、DeskewSampleImage.tif からダウンロードできます。
cURL コマンドを使用した PDF の傾き補正
傾き補正された画像を含む PDF ファイルを受け取る場合があります。簡単な解決策の 1 つは、PDF ファイルから画像を抽出し、画像の傾きを補正することです。この要件を満たすために、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 トークンを取得したら、Aspose.PDF Cloud の GrayscaleImage API を使用して PDF 画像を抽出する必要があります。画像は 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
結論
ここまでで、Java クラウド SDK を使用して画像と PDF の傾きを補正する驚くほど簡単な手順をいくつか学びました。これで、Java コード スニペットまたは cURL コマンドを使用して要件を満たすことができます。同時に、製品ドキュメント を参照して、API が提供するその他の興味深い機能について詳しく知ることを強くお勧めします。
すべての Cloud SDK は MIT ライセンスの下で開発されているため、GitHub から完全なソース コードをダウンロードできます。最後に、API の使用中に問題が発生した場合は、無料の 製品サポート フォーラム から迅速な解決策を得ることができます。
関連記事
詳細については、次のリンクを参照してください。