이미지에서 테이블을 추출하는 것은 도전적인 작업이 될 수 있지만, .NET에 대한 Aspose.OCR로, 그것은 훨씬 더 관리 가능해집니다.이 강력한 도서관은 개발자가 Excel, CSV 또는 평평한 텍스트와 같은 구조화 된 형식으로 표 데이터를 포함하는 이미지를 변환하는 과정을 자동화 할 수 있습니다.
완전한 예제
시작하려면 프로젝트에 설치된 Aspose.OCR을 필요로 합니다.이 작업이 완료되면 아래의 단계를 따르면 이미지에서 테이블을 추출하고 원하는 형식으로 수출할 수 있습니다.
단계 1 : OCR 엔진을 시작합니다.
테이블 추출을 시작하기 전에 필요한 구성으로 OCR 엔진을 이니셔티브해야 합니다.이것은 사용 사례에 필요한 인식 언어 및 다른 특정 설정 설정을 설정하는 것을 포함합니다.
단계 2 : 이미지를 업로드합니다.
테이블 데이터를 포함하는 이미지를 OCR 엔진에 업로드하십시오.이 이미지가 명확하고 그 안의 텍스트가 읽을 수 있는지 확인하여 정확한 추출을 보장합니다.
// Step 1: Initialize the OCR Engine
using (AsposeOcr ocrEngine = new AsposeOcr())
{
// Set recognition language and other configurations as needed
ocrEngine.Language = RecognitionLanguages.English;
}
단계 3: 테이블 인식 설정을 설정
테이블 인식에 대한 설정을 설정합니다.이 설정에는 세포 탐지, 라인 감지 및 추출 프로세스를 정리하기위한 다른 고급 옵션과 같은 매개 변수를 설정하는 것이 포함됩니다.
// Step 2: Load the Image
using (var imageStream = new FileStream("table_image.png", FileMode.Open, FileAccess.Read))
{
var image = new OcrInputStream(imageStream);
}
단계 4 : 추출 프로세스를 실행
모든 구성 세트를 사용하면 이제 테이블 추출 프로세스를 실행할 수 있습니다. Aspose.OCR은 이미지를 분석하고 표 데이터를 구조화 된 형식으로 제거합니다.
// Step 3: Configure Table Recognition Settings
ocrEngine.TableRecognitionSettings = new TableRecognitionSettings
{
CellDetection = true,
LineDetection = true,
AdvancedOptions = new AdvancedTableRecognitionOptions { MinCellWidth = 50, MinCellHeight = 20 }
};
5단계: 데이터 수출
마지막으로, 추출 된 데이터를 Excel, CSV 또는 평평한 텍스트와 같은 선호하는 형식으로 내보내십시오.이 단계는 파일에 데이터가 저장되거나 응용 프로그램 내에서 직접 처리됩니다.
// Step 4: Run the Extraction Process
var extractionResult = ocrEngine.RecognizeTable("path/to/image.png");
Console.WriteLine("Table extracted successfully!");
모범 사례
그림에서 테이블을 추출하기 위해 .NET의 Aspose.OCR을 사용할 때 고려해야 할 몇 가지 최고의 관행이 있습니다.
- Image Quality 보장: 입력 이미지의 품질은 정확한 테이블 추출에 필수적입니다.
- Fine-Tune Settings: 추출 과정을 최적화하기 위해 다른 설정을 실험합니다.세포 감지 민감성과 같은 매개 변수를 조정하면 결과를 크게 향상시킬 수 있습니다.
- ** 오류 처리:** OCR 엔진이 복잡하거나 낮은 품질의 이미지와 싸울 수있는 사례를 관리하기 위해 강력한 실수 처리를 구현합니다.
결론
이 지침을 따르면 .NET의 Aspose.OCR을 효과적으로 사용하여 이미지에서 테이블을 추출하고 구조화된 데이터 형식으로 변환하는 과정을 자동화할 수 있습니다.이 능력은 수동 데이터 입력이 실용적이거나 효율적이지 않은 시나리오에서 가치가 없습니다.