Github Copilot 实战: 从零开始用AI写一个OCR工具
- 作者: 五速梦信息网
- 时间: 2026年04月20日 04:37
();
FullOcrModel model = await OnlineFullModels.ChineseV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
AllowRotateDetection = true,
Enable180Classification = true,
})
{
Stopwatch sw = Stopwatch.StartNew();
result = all.Run(src);
Console.WriteLine($"elapsed={sw.ElapsedMilliseconds} ms");
Console.WriteLine("Detected all texts: \n" + result.Text);
foreach (PaddleOcrResultRegion region in result.Regions)
{
Console.WriteLine($"Text: {region.Text}, Score: {region.Score}, RectCenter: {region.Rect.Center}, RectSize: {region.Rect.Size}, Angle: {region.Rect.Angle}");
resultText.Add(region.Text);
}
}
src.Dispose();
return (resultText, result);
}
} “`
A. 提示词 ”实现拖放,粘贴图片或者点击打开选择文件获取一张图片, 并且调用ocr服务,将结果绘图到原图上, 右边显示相应的文本“
下面是一个完整的 WPF 方案,支持拖放图片、粘贴图片、点击选择图片,并调用 OCR 服务,将识别结果绘制到原图上,右侧显示文本。代码已适配你的 PaddleOCRService,并假设其 StartOCR(byte[] image) 返回识别结果(如文本框列表)。
- MainWindow.xaml(UI布局)
”`csharp
<columndefinition width="2*">
<columndefinition width="*">
</columndefinition></columndefinition></grid.columndefinitions>
<border grid.column="0" margin="10" borderbrush="Gray" borderthickness="1" background="#FFF" mouseleftbuttonup="ImageBorder_MouseLeftButtonUp" allowdrop="True" drop="ImageBorder_Drop">
<img x:name="MainImage" stretch="Uniform" src=""/>
</border>
<scrollviewer grid.column="1" margin="10">
<textbox x:name="OcrTextBox" acceptsreturn="True" verticalscrollbarvisibility="Auto" textwrapping="Wrap" fontsize="16">
</textbox></scrollviewer>
相关文章
-
Github Copilot 实战: 从零开始用AI写一个OCR工具 (3)
Github Copilot 实战: 从零开始用AI写一个OCR工具 (3)
- 互联网
- 2026年04月20日
-
Git 项目中二进制文件历史提交处理及对 GitHub 的影响
Git 项目中二进制文件历史提交处理及对 GitHub 的影响
- 互联网
- 2026年04月20日
-
FFmpeg开发笔记 Windows给FFmpeg集成H.266编码器vvenc
FFmpeg开发笔记 Windows给FFmpeg集成H.266编码器vvenc
- 互联网
- 2026年04月20日
-
GitLab CICD 的配置文件 .gitlab
GitLab CICD 的配置文件 .gitlab
- 互联网
- 2026年04月20日
-
GitLab 服务器宕机时的项目代码恢复方法
GitLab 服务器宕机时的项目代码恢复方法
- 互联网
- 2026年04月20日
-
Git冲突分为哪几种情况?常用解决办法
Git冲突分为哪几种情况?常用解决办法
- 互联网
- 2026年04月20日





