IRONSOFTWAREHOME

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

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

IronOCRは、回転、傾き補正、拡大縮小の方法で画像の向きの問題を修正します。 .NETアプリケーションで正確なOCRテキスト抽出を行うために、これらの変換を連鎖させて、傾いたスキャン、上下逆さまの文書、不適切なサイズの画像を修正します。

クイックスタート: 1行での回転、非傾き、スケーリング

IronOCRのOcrInputメソッドをチェインして、画像を回転、デスクュー、スケールし、1回の呼び出しで正確なOCRのために画像を準備します。ボイラープレートを必要としません。

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

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

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

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

IronOCRで画像を回転させるには?

回転させることで、画像の向きを特定の角度だけ変え、テキストが直立し、正しく配置されるようにします。 スキャナで読み取った文書や、不恰好な角度で撮影された写真を修正します。

Rotateメソッドに度数を指定して渡します。 正の値は時計回りに回転し、負の値は反時計回りに回転します。回転は画像の中心点を中心に行われ、コンテンツの向きを調整しながら元の寸法を維持します。

画像の回転はいつ使うべきですか?

画像回転は、スキャンまたは撮影された文書の向きが正しくない場合に修正します。 よくあるシナリオは以下のとおりです:

自動回転検出には、IronOCRのDetectPageOrientationメソッドを使用します。これにより、テキスト解析を通じて正しい向きを決定します。

どの程度の値が最適ですか?

一般的な回転値は、90度の倍数(90、180、270)です。 IronOCRは微調整のための度数値をサポートします:

  • 90度/-270度:横から縦への変換
  • 180度:逆さまドキュメント
  • 270度/90度:縦から横への変換
  • 小さな角度(1~10度)デスクウィングは、わずかな傾きに対してよりよく機能することがよくありますが、軽微な調整です。

古い機器からスキャンした文書の場合は、回転を他の前処理ステップと組み合わせてください。

回転は OCR の精度にどのように影響しますか?

OCRの精度を高めるためには、適切な回転が不可欠です。 IronOCRのTesseract 5エンジンは左から右、上から下のテキストフローを想定しています。 テキストがずれる原因

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

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

回転補正前の、傾いた元のテキスト文書
IronOCR の回転補正を必要とする上下逆さまの内容を示す、180 度回転したテキストのドキュメント

傾いた画像の傾きを補正するにはどうすればよいですか?

傾いた画像や斜めになった画像を傾き補正し、テキストを水平に揃えます。 この翻訳では、スキャナで斜めに置かれた文書や、微妙な角度で撮影された写真を修正します。

Deskewメソッドを使用してデスクューを適用します。 補正する最大スキュー角度を整数で指定します。 値を高くすると、より多くの修正が可能になりますが、処理速度が遅くなり、ページが上下逆さまになるなどのエラーが発生する危険性があります。 デフォルトの最大15度は、ほとんどのシナリオを効果的に処理します。

デスキューにはどのような角度値を使用すればよいですか?

最適なスキュー角度は、文書の品質と要件によって異なります:

  • デフォルト(パラメータなし):ほとんどのドキュメントの自動検出
  • 5~15度:正確さとスピードのバランスをとりながら、少し傾けたスキャンを行う。
  • 15~30度:著しく歪んだ文書; 20度を超える角度については、回転を考慮してください。
  • 30度以上:オーバーコレクトの可能性があります; 画像フィルタを代わりに使用してください。

大きく傾いたドキュメントには、傾き補正と画像最適化フィルタを組み合わせてください。 フィルタウィザードは、最適な前処理ステップを特定するのに役立ちます。

デスキューイングが最も効果的なのはいつですか?

デスキューイングは次のような場合に最適です:

あまり効果的ではありません:

過修正の問題を避けるにはどうすればよいですか?

以下の方法で、デスキュー問題を防いでください: 1.保守的な角度制限(10~15度)から始める。 2.OcrResultの信頼スコアを使用して修正を検証する 3.複合問題のローテーション後のデスキューの適用 4.バッチ処理前のサンプル文書のテスト 5.progress tracking を大規模バッチに使用する 6.abort トークンを長時間実行する操作のために実装する。

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");
傾き補正が必要な、目立った傾きのある元の文書
Document after deskew correction showing properly aligned horizontal text

より良い OCR のために画像を拡大縮小するにはどうすればよいですか?

スケーリングは、一貫したテキスト認識のために画像のサイズを標準化します。 適切なスケーリングにより、テキストが小さすぎて正確に検出できなかったり、大きすぎて効率的に処理できなかったりすることはありません。

百分率値(100%は無効果)を使用してScaleメソッドでスケーリングを適用します。 第2パラメータScaleCropAreaは、クロップ領域が比例してスケールするか('true'を推奨する)を決定します。 スケーリング中の元のDPIメタデータを保持するにはScaleCropAreaを使用します。 テキストの歪みを防ぐため、アスペクト比を維持したスケーリングを行っています。

最適な比率はどのくらいですか?

最適なスケーリングは、ソースの解像度とOCR要件によって異なります:

  • 50~80%:高速処理のための高解像度スキャン(600DPI以上
  • 100%:拡大縮小なし、オリジナル寸法
  • 120-150%:文字認識を強化するための低解像度画像
  • 200%以上DPI設定の方がうまくいくかもしれませんが、非常に小さなテキストです。

最良の結果を得るために、テキストの高さは20~30ピクセルを目標としてください。 解像度の最適化に関する詳しいガイダンスについては、optimizing image DPI for Tesseractをご覧ください。

スケーリングは OCR のパフォーマンスにどのように影響しますか?

スケーリングは精度とスピードに影響します:

  • ダウンスケーリング(100%以下):処理が速くなりますが、細かいディテールが失われる可能性があります。
  • アップスケーリング(100%以上):小さなテキストの精度が向上しますが、処理が遅くなります。
  • メモリ使用量: 画像の大きさによって二次関数的に変化します。
  • 処理時間: 次元が大きくなるほど長くなります。

パフォーマンス最適化のために、高速OCR設定スピードのためのマルチスレッドをご覧ください。

どのような場合に ScaleCropArea を使用すべきですか?

using ScaleCropArea 時:

true に設定してください。元のクロップ座標が必要でない限り。

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

異なるスケール値はどのように比較されますか?

以下の比較は、スケーリングが寸法とテキストの明瞭さにどのように影響するかを示しています。 適度なスケーリングにより、処理要件を調整しながら読みやすさを維持します:

50%、100%、150%の縮尺でテキスト文書を表示し、サイズの違いを示した比較図
異なる縮尺でレンダリングされたテキストを並べて比較し、3DパースペクティブでのOCR品質保持を示す。

複合修正のベストプラクティスは何ですか?

最適な結果を得るために、この順序で修正を加えてください: 1.ローテーションを最初に行い、主要な方向性の問題を解決する。 2.アライメントを微調整するためのデスキュー。 3.スケーリングによるOCR処理の最適化

このような順序を踏むことで、誤りを重ねることなく、各修正が前の修正の上に積み重ねられていきます。 複雑な処理が必要な場合は、IronOCRの包括的な画像フィルターと画質補正ツールをご利用ください。

どのようにすべての方向修正を組み合わせますか?

包括的な画像準備のために複数の補正を連鎖させること:

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

// Create OCR engine with optimized configuration
IronTesseract ocrTesseract = new IronTesseract();

// Load and process image with all corrections
using var imageInput = new OcrImageInput("skewed_document.png");

// Apply corrections in optimal sequence
imageInput
    .Rotate(90)           // Fix major orientation
    .Deskew(15)          // Correct minor tilts
    .Scale(150, true);   // Enhance for OCR

// Perform OCR on corrected image
OcrResult result = ocrTesseract.Read(imageInput);

// Access extracted text
string extractedText = result.Text;

結果を向上させる追加の前処理はどれですか?

方向修正だけでなく、以下のような機能強化もご検討ください:

バッチ処理では、asyncサポートを実装し、複数のドキュメントを効率的に処理できるようにします。 タイムアウトを使用して、大規模な処理を監視します。

修正した画像をエクスポートするにはどうすればよいですか?

検証またはさらなる使用のために、処理された画像をエクスポートします:

複雑なワークフローを実装する前に、シンプルな1行OCRで修正をテストしてください。

よくある質問

OCR処理の前に、傾いた画像や斜めの画像を修正するにはどうすればよいですか?

IronOCRはOcrInputクラスを通して強力な画像方向補正を提供します。Rotate()、Deskew()、Scale()などのメソッドを連鎖させて、傾いたスキャン画像、上下逆さまの文書、不適切なサイズの画像を修正することができます。たとえば、input.Rotate(90).Deskew(45).Scale(150) を使用すると、テキスト抽出の前に1行で複数の補正を適用できます。

ドキュメントの向きが異なる場合、どのような回転角度を使用すればよいですか?

IronOCRはあらゆる回転角度をサポートしますが、一般的な値は以下の通りです:横から縦への変換には90度、逆さまの文書には180度、縦から横への変換には270度です。わずかな調整(1-10度)の場合、IronOCRの傾き補正()メソッドを使うと、少し傾いた文書でも良い結果が得られます。

ドキュメントの正しい向きを自動的に検出できますか?

はい、IronOCRにはDetectPageOrientationメソッドがあり、テキスト解析によって正しい向きを自動的に決定します。この機能は、歴史的なアーカイブや様々なソースからの複数ページのドキュメントなど、方向が一貫していないドキュメントのバッチを処理するときに特に便利です。

画像補正に回転と傾き補正のどちらを使うべきですか?

IronOCRのRotate()メソッドは、ドキュメントが完全に横向きや上下逆さまになっている場合に、主要な方向(90度、180度、270度)の問題に対して使用します。スキャンされた文書によく見られるわずかな傾きや歪みにはDeskew()メソッドを使います。両方のメソッドを連鎖させることで、不十分なスキャン画像を総合的に補正することができます。

OCRの精度を高めるために画像を拡大縮小するにはどうすればよいですか?

IronOCRのScale()メソッドでは、画像のサイズをパーセント単位で変更することができます。例えば、Scale(150)は画像サイズを50%増加させ、低解像度のスキャンのOCR精度を向上させます。これは回転や傾き補正と組み合わせて総合的な画像前処理を行う場合に特に便利です。

What are the best practices for combining image corrections in IronOCR?

For optimal results, apply corrections in the order: first, use rotation for major orientation issues; second, deskew to fine-tune alignment; lastly, apply scaling to standardize dimensions for consistent OCR processing.

How can I automate the detection of page orientation in IronOCR?

IronOCR's DetectPageOrientation method automatically determines the correct image orientation through text analysis, streamlining the preprocessing workflow and improving OCR accuracy.

Can IronOCR handle multi-page documents with different orientations?

Yes, IronOCR can process multi-page documents with various orientations by applying rotation, deskewing, and scaling corrections to each page, ensuring consistent OCR results across the entire document.

What additional preprocessing can enhance OCR results in IronOCR?

Beyond orientation correction, applying color correction, quality filters, and computer vision techniques can further improve OCR results. IronOCR also supports async operations for batch processing efficiency.

How can I export corrected images or OCR results using IronOCR?

Corrected images can be exported using the SaveAsImages method, while OCR results can be saved as searchable PDFs, hOCR HTML for web integration, or PDF streams for cloud storage.

Curtis Chau
テクニカルライター

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

...
詳しく読む

準備はできましたか?

Nuget Downloads 6,236,385バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. 「参照」を選択して「IronOCR」を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

または、Windowsインストーラーをこちらからダウンロード。

  1. IronOCRをダウンロードして、ソリューションディレクトリ内の~/Libsなどの場所に解凍します
  2. Visual Studioソリューションエクスプローラーで、リファレンスを右クリックします。「参照」、「IronOCR.dll」を選択

$999からのライセンス

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。