C#でOCRのための画像の向きを修正する方法 | IronOCR

C# で OCR の画像の向きを修正する

This article was translated from English: Does it need improvement?
Translated
View the article in English

画像処理の文脈において画像の向きを修正することは、テキスト認識などの特定の目的に合わせて画像が適切に配置されるように画像を調整することを意味します。 IronOcr は、回転、傾き補正、拡大縮小など、画像の向きの修正をサポートしています。

これらの手法は、テキストが正しい方向、位置合わせ、および抽出に適したサイズになっていることを保証するため、正確なテキスト認識のために画像を準備するために不可欠です。

クイックスタート: 1行で回転、傾き補正、拡大縮小

IronOCR の OcrInput を使用したこのシンプルなチェーンを使用すると、1 回の呼び出しで画像を回転、傾き補正、拡大縮小できます。定型句なしですぐに開始できるため、数秒で正確な OCR 用に画像を準備できます。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronOCR をインストールします

    PM > Install-Package IronOcr

  2. このコード スニペットをコピーして実行します。

    var result = new IronOcr.OcrInput().LoadImage("skewed.png").Rotate(90).Deskew(45).Scale(150).Let(input => new IronOcr.IronTesseract().Read(input));
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう
    arrow pointer


画像の回転例

画像を回転すると、画像内のテキストまたはコンテンツが垂直になり、正しく整列するように、画像の向きを特定の角度 (例: 時計回りまたは反時計回りに 90 度) で変更します。

回転を実行するには、 Rotateメソッドに度数値を渡します。 正の度数値を指定すると画像は時計回りに回転し、負の度数値を指定すると画像は反時計回りに回転します。

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("paragraph_skewed.png");

// Rotate the image 180 degrees clockwise
imageInput.Rotate(180);

// Export the modified image
imageInput.SaveAsImages("rotate");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("paragraph_skewed.png")

' Rotate the image 180 degrees clockwise
imageInput.Rotate(180)

' Export the modified image
imageInput.SaveAsImages("rotate")
$vbLabelText   $csharpLabel

便宜上、 SaveAsImagesメソッドを使用して変更された画像をエクスポートできます。 以下は回転前と回転後の画像の比較です。

Sample image
Rotated image

画像の傾き補正例

傾き補正は、わずかに傾いたり歪んだりした画像をまっすぐにするプロセスです。 傾きやずれを修正し、テキストまたはコンテンツが水平に揃うようにします。

画像に傾き補正を適用するには、 Deskewメソッドを使用します。 このメソッドは、修正するスキューの最大角度を指定する整数値を受け入れます。 値を大きくすると修正の機会が増える可能性がありますが、処理速度が遅くなり、ページが逆さまになるなどのエラーが発生するリスクが高まります。

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-deskew-image.cs
// Apply deskew
imageInput.Deskew();
' Apply deskew
imageInput.Deskew()
$vbLabelText   $csharpLabel
Sample image
deskewed image

スケール画像の例

スケーリングでは、画像のサイズを特定の寸法またはアスペクト比に変更します。 これは、より一貫したテキスト認識のために画像サイズを標準化するのに役立ちます。

画像にスケーリングを適用するには、 Scaleメソッドを使用します。 Scaleメソッドはパーセンテージ値を取ります。100% は効果がないことを意味します。 2 番目のパラメータはScaleCropAreaで、関連付けられているトリミング領域も比例して拡大縮小するかどうかを決定します ("true"を推奨)。

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-scale-image.cs
// Apply scale
imageInput.Scale(70);
' Apply scale
imageInput.Scale(70)
$vbLabelText   $csharpLabel

サイズ比較

サイズ比較
サイズ比較

よくある質問

.NET C# で画像の向きを修正するための重要なメソッドは何ですか?

.NET C# では、IronOCR のメソッドを利用して画像の向きを修正できます。Rotate は角度の変更、Deskew は傾いた画像を直して、Scale は適切なテキストの位置合わせと認識を確保するためのサイズ調整を行います。

C# の Rotate メソッドは画像の向きにどのように役立ちますか?

C# の Rotate メソッドは画像の角度を調整し、テキストが垂直にすることを保証します。正の角度値を渡すと画像は時計回りに回転し、負の角度値で反時計回りに回転します。

画像処理において、傾き矯正が重要なのはなぜですか?

傾き矯正は、傾いた画像をまっすぐにし、テキストの水平な配置を保証することで、光学式文字認識(OCR)の結果の精度を向上させるために重要です。

画像のスケーリングはテキスト認識にどのように影響しますか?

画像をスケーリングすることで、画像のすべての部分が均等にリサイズされ、均一なテキストサイズを維持し、テキスト認識の一貫性と精度を向上させます。

C# を使用して PDF ドキュメントに画像の向き補正を適用できますか?

はい、IronOCR を使用して PDF ドキュメントをインポートし、テキスト認識を向上させるために、回転、傾き矯正、スケーリングなどの画像の向き補正を適用できます。

.NET アプリケーションで画像の処理後に修正された画像をどのようにエクスポートできますか?

IronOCR を使用して画像を処理および修正した後、SaveAsImages メソッドを利用して修正された画像をエクスポートできます。

画像補正用の傾き矯正値を選択する際に考慮すべき点は何ですか?

傾き矯正値を選ぶ際には、高い値がより多くの修正の機会を提供するかもしれませんが、処理速度を遅くし、上下逆の画像などのエラーを引き起こす可能性があることを考慮してください。

C# で OCR のための画像を準備するプロセスは何ですか?

C# での OCR のために画像を準備するには、テキストが正しく整列され、適切なサイズになるように、IronOCR が提供する RotateDeskew、および Scale メソッドを使用して向きを補正します。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 5,167,857 | Version: 2025.11 リリース