C#에서 OCR을 위한 이미지 방향 수정 방법 | IronOCR

C#을 사용하여 OCR에서 이미지 방향 수정하기

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

IronOCR은 회전, 기울기 보정 및 크기 조정 방법을 통해 이미지 방향 문제를 해결합니다. 이러한 변환을 연결하여 기울어진 스캔 이미지, 거꾸로 된 문서, 크기가 잘못된 이미지를 수정하면 .NET 애플리케이션에서 정확한 OCR 텍스트 추출이 가능합니다.

빠른 시작: 한 줄로 회전-기울임 수정-크기 조정

IronOCR의 OcrInput 메서드를 연결하여 이미지를 회전, 비뚤어짐 교정, 크기 조정을 한 번에 수행하십시오 — 반복적인 코드 없이 정확한 OCR을 위한 이미지를 준비합니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/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


IronOCR에서 이미지를 회전하는 방법은 무엇인가요?

회전 기능은 이미지 방향을 특정 각도로 변경하여 텍스트가 똑바로 정렬되도록 합니다. 이 기능은 스캐너에 잘못 놓인 스캔 문서나 어색한 각도에서 촬영된 사진을 보정합니다.

Rotate 메서드에 각도 값을 전달합니다. 양수 값은 시계 방향으로 회전하고, 음수 값은 반시계 방향으로 회전합니다. 회전은 이미지 중심점을 기준으로 이루어지며, 콘텐츠 방향을 조정하면서 원래 크기를 유지합니다.

이미지 회전은 언제 사용해야 할까요?

이미지 회전 기능은 잘못된 방향으로 스캔 또는 촬영된 문서를 바로잡아 줍니다. 일반적인 시나리오는 다음과 같습니다.

  • 문서가 거꾸로 또는 옆으로 스캔된 경우
  • 방향 변경이 필요한 모바일 사진
  • 페이지 방향이 일관되지 않은 여러 페이지로 구성된 문서
  • 스캔 표준이 다양한 역사 기록 보관소
  • 여권 방향이 다양한 경우 스캔
  • 다양한 카메라 각도에서 차량 번호판 인식

자동 회전 감지를 위해 IronOCR의 DetectPageOrientation 메서드를 사용하세요. 이 메서드는 텍스트 분석을 통해 올바른 방향을 결정합니다.

어떤 정도 값이 가장 효과적일까요?

일반적인 방향 설정 문제에서 흔히 사용되는 회전 값은 90도의 배수(90, 180, 270)입니다. IronOCR은 미세 조정을 위해 모든 자릿값(degree)을 지원합니다.

  • 90/-270도 : 가로에서 세로로 변환
  • 180도 : 거꾸로 된 문서
  • 270/-90도 : 세로에서 가로로 변환
  • 작은 각도(1~10도) : 약간의 조정이 필요하지만, 기울기를 약간 바로 잡는 데는 기울기 보정이 더 효과적인 경우가 많습니다.

구형 장비로 스캔한 문서 의 경우, 회전 기능을 다른 전처리 단계와 함께 사용하십시오.

회전은 OCR 정확도에 어떤 영향을 미칠까요?

OCR 정확도를 위해서는 적절한 회전이 매우 중요합니다. IronOCR의 Tesseract 5 엔진은 왼쪽에서 오른쪽, 위에서 아래로 텍스트가 흐르는 것을 예상합니다. 텍스트 정렬 불량의 원인:

: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");
$vbLabelText   $csharpLabel

SaveAsImages 메서드를 사용하여 수정된 이미지를 내보냅니다. 아래는 회전 전후의 이미지입니다.

Original skewed text document before rotation correction
Document with 180-degree rotated text showing upside-down content that requires IronOCR rotation correction

기울어진 이미지를 어떻게 보정하나요?

이미지 기울이기 보정은 기울어지거나 비뚤어진 이미지를 바로잡아 텍스트가 수평으로 정렬되도록 합니다. 이 기능은 스캐너에 비뚤게 놓인 문서나 약간 기울어진 각도로 촬영된 사진을 교정해 줍니다.

Deskew 메서드를 사용하여 비뚤어짐을 교정합니다. 보정할 최대 기울기 각도를 지정하는 정수를 전달하십시오. 값이 높을수록 수정 범위가 넓어지지만 처리 속도가 느려지고 페이지가 거꾸로 나오는 등의 오류가 발생할 위험이 있습니다. 기본값인 최대 15도는 대부분의 시나리오에 효과적으로 대응합니다.

기울기 보정에 어떤 각도 값을 사용해야 할까요?

최적의 기울기 보정 각도는 문서 품질 및 요구 사항에 따라 다릅니다.

  • 기본값(매개변수 없음) : 대부분의 문서에 대해 자동 감지
  • 5~15도 : 약간 기울어진 스캔으로 정확도와 속도의 균형을 맞춥니다.
  • 15~30도 : 문서가 심하게 기울어져 있음; 20도를 초과하는 각도의 경우 회전을 고려하십시오.
  • 30도 이상 : 과도하게 보정할 수 있음; 이미지 필터를 사용하세요

심하게 기울어진 문서의 경우, 기울기 보정 기능과 이미지 최적화 필터를 함께 사용하십시오. 필터 마법사는 최적의 전처리 단계를 식별하는 데 도움을 줄 수 있습니다.

기울기 조정은 언제 가장 효과적일까요?

디스큐잉은 다음에서 가장 효과적입니다:

  • 텍스트가 많은 문서, 선명한 가로선
  • 양식 및 구조화된 문서
  • 책이나 잡지에서 스캔한 페이지
  • 기울기가 일정한 다중 페이지 TIFF 파일
  • 정확한 정렬이 필요한 재무 문서

다음과 같은 경우에는 효과가 떨어집니다.

  • 불규칙한 기준선을 가진 손글씨
  • 다양한 텍스트 방향을 가진 이미지
  • 그래픽이나 표가 많이 포함된 문서
  • 이미 제대로 정렬된 스크린샷

과잉 보정 문제를 피하려면 어떻게 해야 할까요?

기울어짐 문제를 방지하려면 다음을 수행하십시오.

  1. 보수적인 각도 제한(10~15도)부터 시작합니다.
  2. OcrResult 신뢰도 점수를 사용하여 수정 사항 검증
  3. 복합적인 문제에 대한 회전 후 기울기 보정 적용
  4. 일괄 처리 전 샘플 문서 테스트
  5. 대량 배치 처리에 진행 상황 추적 기능 활용
  6. 장시간 실행되는 작업에 대한 중단 토큰 구현
: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");
$vbLabelText   $csharpLabel
Original document with noticeable tilt requiring deskew correction
Document after deskew correction showing properly aligned horizontal text

OCR 성능 향상을 위해 이미지 크기를 어떻게 조정해야 할까요?

크기 조정은 일관된 텍스트 인식을 위해 이미지 크기를 표준화합니다. 적절한 크기 조정을 통해 텍스트가 너무 작아서 정확하게 감지되지 않거나 너무 커서 효율적으로 처리되지 않는 일이 없도록 할 수 있습니다.

백분율 값(100%는 효과 없음)을 사용하여 Scale 메서드로 크기 조정을 적용합니다. 두 번째 매개변수 ScaleCropArea는 잘라내기 영역이 비례적으로 크기 조정되는지 여부를 결정합니다('true'로 설정 권장). 확대/축소 시 화면 비율이 유지되어 텍스트 왜곡을 방지합니다.

최적의 규모 비율은 얼마일까요?

최적의 크기 조정은 소스 해상도 및 OCR 요구 사항에 따라 달라집니다.

  • 50-80% : 고해상도 스캔(600DPI 이상)으로 처리 속도 향상
  • 100% : 확대/축소 없음, 원본 크기
  • 120-150% : 문자 인식 향상을 위한 저해상도 이미지
  • 200% 이상 : 글씨가 매우 작습니다. DPI 설정을 조정 하면 더 나아질 수 있습니다.

최상의 결과를 얻으려면 텍스트 높이를 20~30픽셀로 설정하세요. 해상도 최적화에 대한 자세한 지침은 Tesseract용 이미지 DPI 최적화를 참조하십시오.

확장성이 OCR 성능에 어떤 영향을 미칠까요?

크기 조정은 정확도와 속도에 영향을 미칩니다.

  • 축소 (100% 미만): 처리 속도는 빨라지지만 세부적인 디테일이 손실될 수 있습니다.
  • 확대 (100% 이상): 작은 텍스트의 경우 정확도가 향상되지만 처리 속도가 느려집니다.
  • 메모리 사용량 : 이미지 크기에 따라 제곱으로 증가합니다.
  • 처리 시간 : 크기가 커질수록 증가합니다.

성능 최적화를 위해서는 빠른 OCR 구성속도 향상을 위한 멀티스레딩을 참조하십시오.

ScaleCropArea는 언제 사용해야 할까요?

다음의 경우 ScaleCropArea를 사용하세요:

원본 잘라내기 좌표가 필요하지 않으면 true로 설정합니다.

: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");
$vbLabelText   $csharpLabel

서로 다른 척도 값은 어떻게 비교될까요?

아래 비교는 크기 조정이 크기와 텍스트 선명도에 미치는 영향을 보여줍니다. 적절한 크기 조정은 처리 요구 사항을 조정하면서 가독성을 유지합니다.

텍스트 문서를 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;
/* :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;
$vbLabelText   $csharpLabel

어떤 추가 전처리 과정이 결과 향상에 도움이 될까요?

방향 보정 외에도 다음과 같은 개선 사항을 고려해 보세요.

일괄 처리를 위해 여러 문서를 효율적으로 처리할 수 있도록 비동기 지원을 구현하십시오. 대규모 작업의 경우 타임아웃을 사용하여 처리 과정을 모니터링하세요.

보정된 이미지를 어떻게 내보낼 수 있나요?

검증 또는 추가 활용을 위해 처리된 이미지를 내보낼 수 있습니다.

복잡한 워크플로우를 구현하기 전에 간단한 한 줄 OCR 테스트 를 통해 오류를 수정하십시오.

자주 묻는 질문

OCR 처리 전에 기울어지거나 왜곡된 이미지를 어떻게 수정하나요?

IronOCR은 OcrInput 클래스를 통해 강력한 이미지 방향 보정 기능을 제공합니다. Rotate(), Deskew(), Scale()과 같은 메서드를 연결하여 기울어진 스캔 이미지, 거꾸로 된 문서, 크기가 맞지 않는 이미지 등을 수정할 수 있습니다. 예를 들어, 텍스트 추출 전에 input.Rotate(90).Deskew(45).Scale(150)과 같이 한 줄에 여러 보정을 적용할 수 있습니다.

문서 방향이 다를 때 어떤 회전 각도를 사용해야 할까요?

IronOCR은 모든 회전 각도를 지원하지만, 일반적으로 가로 방향 문서를 세로 방향으로 변환할 때는 90도, 상하 반전된 문서의 경우 180도, 세로 방향 문서를 가로 방향으로 변환할 때는 270도를 사용합니다. 1~10도 정도의 미세 조정이 필요한 경우, IronOCR의 Deskew() 메서드를 사용하면 문서가 약간 기울어진 경우에도 더 나은 결과를 얻을 수 있습니다.

문서의 올바른 방향을 자동으로 감지할 수 있나요?

네, IronOCR에는 텍스트 분석을 통해 올바른 문서 방향을 자동으로 감지하는 DetectPageOrientation 기능이 포함되어 있습니다. 이 기능은 역사 기록 보관소나 여러 출처에서 가져온 여러 페이지로 구성된 문서처럼 문서 방향이 일관되지 않은 문서를 일괄 처리할 때 특히 유용합니다.

이미지 보정 시 기울기 보정과 회전 중 어떤 것을 사용해야 할까요?

문서가 완전히 옆으로 기울어져 있거나 거꾸로 되어 있는 경우, IronOCR의 Rotate() 메서드를 사용하여 90도, 180도, 270도와 같은 심각한 방향 문제를 수정하세요. Deskew() 메서드는 스캔한 문서에서 흔히 발견되는 약간의 기울어짐이나 비스듬함을 보정하는 데 사용하세요. 두 메서드를 함께 사용하면 스캔 상태가 좋지 않은 이미지를 완벽하게 보정할 수 있습니다.

OCR 정확도를 높이려면 이미지 크기를 어떻게 조정해야 할까요?

IronOCR의 Scale() 메서드를 사용하면 이미지 크기를 백분율로 조정할 수 있습니다. 예를 들어 Scale(150)은 이미지 크기를 50% 확대하여 저해상도 스캔의 OCR 정확도를 향상시킬 수 있습니다. 이는 회전 및 기울기 보정과 함께 사용하여 포괄적인 이미지 전처리를 수행할 때 특히 유용합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

검토자:
제프 프리츠
제프리 T. 프리츠
.NET 커뮤니티 팀의 수석 프로그램 관리자
제프는 .NET 및 Visual Studio 팀의 수석 프로그램 관리자이기도 합니다. 그는 .NET Conf 가상 컨퍼런스 시리즈의 총괄 프로듀서이며, 개발자를 위한 라이브 스트림 'Fritz and Friends'를 주 2회 진행하며 시청자들과 함께 기술에 대해 이야기하고 코드를 작성합니다. 제프는 Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit 등 주요 Microsoft 개발자 행사를 위한 워크숍, 프레젠테이션 및 콘텐츠 기획을 담당합니다.
시작할 준비 되셨나요?
Nuget 다운로드 5,525,971 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronOcr
샘플을 실행하세요 이미지가 검색 가능한 텍스트로 바뀌는 것을 확인해 보세요.