이 짧은 자습서에서는 WinForms용 Windows AI API 샘플 에 포함된 텍스트 인식 기능을 안내합니다. 특히 Windows AI API를 사용하여 이미지에서 텍스트 인식을 수행하고 인식된 텍스트를 요약하는 방법을 보여 줍니다.
필수 조건
Windows AI API 하드웨어 요구 사항 및 Windows AI API를 사용하여 앱을 성공적으로 빌드하도록 디바이스를 구성하는 방법에 대해 알아보려면 Windows AI API를 사용하여 앱 빌드 시작을 참조하세요.
소개
MainForm.cs MainForm 클래스는 다음 기능을 구현하는 Windows AI API 샘플 앱의 기본 사용자 인터페이스입니다.
- 파일 선택: 사용자가 파일 시스템에서 이미지 파일을 선택하고 해당 이미지를 PictureBox에 표시할 수 있습니다.
- 이미지 처리: 선택한 이미지를 처리하여 OCR(광학 인식)을 사용하여 텍스트를 추출한 다음 추출된 텍스트를 요약합니다.
키 함수 및 이벤트 처리기
WinForms용 Windows AI API 샘플 에서 더 중요한 함수 및 이벤트 처리기 중 일부는 다음과 같습니다.
-
SelectFile_Click: 사용자가 이미지 파일을 선택할 수 있는 파일 대화 상자를 열고 선택한 이미지를 표시합니다. -
ProcessButton_Click: AI 모델 로드, 텍스트 인식 수행 및 텍스트 요약을 포함하여 선택한 이미지의 처리를 처리합니다. -
LoadAIModels: 텍스트 인식 및 요약에 필요한 AI 모델(TextRecognizer 및 LanguageModel)을 로드합니다. -
PerformTextRecognition: TextRecognizer를 사용하여 선택한 이미지에서 OCR을 수행하고 텍스트를 추출합니다. 이 함수는 다음 텍스트 인식 예제에 포함되어 있습니다. -
SummarizeImageText: 프롬프트가 지정된 경우 LanguageModel을 사용하여 추출된 텍스트의 요약을 생성합니다.
텍스트 인식 예제
이 예제에서의 PerformTextRecognition 함수
private async Task<string> PerformTextRecognition()
{
using TextRecognizer textRecognizer = await TextRecognizer.CreateAsync();
ImageBuffer? imageBuffer = await LoadImageBufferFromFileAsync(pathToImage);
if (imageBuffer == null)
{
throw new Exception("Failed to load image buffer.");
}
RecognizedText recognizedText =
textRecognizer!.RecognizeTextFromImage(imageBuffer);
var recognizedTextLines = recognizedText.Lines.Select(line => line.Text);
string text = string.Join(Environment.NewLine, recognizedTextLines);
richTextBoxForImageText.Text = text;
return text;
}
샘플 빌드 및 실행
- WindowsAppSDK 샘플 리포지토리를 복제합니다.
- "릴리스/실험적" 분기로 전환합니다.
- Samples/WindowsAIFoundry/cs-winforms-pckg 폴더로 이동합니다.
- Visual Studio 2022에서 WindowsAISample.sln 엽니다.
- 코필로트+ PC의 아키텍처와 일치하도록 솔루션 플랫폼을 변경합니다.
- 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 "빌드"를 선택하여 솔루션을 빌드합니다.
- 빌드에 성공하면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 "시작 프로젝트로 설정"을 선택합니다.
- F5 키를 누르거나 디버그 메뉴에서 "디버깅 시작"을 선택하여 샘플을 실행합니다(디버그 메뉴 또는 Ctrl+F5에서 "디버깅하지 않고 시작"을 선택하여 샘플을 디버깅하지 않고 실행할 수도 있습니다).