当前位置: 首页 > wzjs >正文

河北建设工程信息网换成什么网址了优化大师哪个好

河北建设工程信息网换成什么网址了,优化大师哪个好,wordpress主题修改头部,合肥市城乡建设局网站下面为你详细介绍如何使用 WPF(Windows Presentation Foundation)和阿里云 OCR(光学字符识别)服务开发一个能识别图片文字并批量改名的工具。 项目背景 在日常工作和生活中,我们常常会遇到大量图片文件,这…

下面为你详细介绍如何使用 WPF(Windows Presentation Foundation)和阿里云 OCR(光学字符识别)服务开发一个能识别图片文字并批量改名的工具。

项目背景

在日常工作和生活中,我们常常会遇到大量图片文件,这些图片文件名可能没有实际意义,手动为其命名既耗时又容易出错。借助 OCR 技术能够识别图片中的文字信息,将这些文字作为图片的新文件名,可提高文件管理效率。阿里云 OCR 具备高精度、高稳定性的特点,能准确识别多种图片格式中的文字。结合 WPF 开发的桌面应用程序,能为用户提供直观便捷的操作界面。

界面设计

  • 文件选择按钮:用于选择需要处理的图片文件夹。
  • 处理按钮:点击后开始识别图片文字并改名。
  • 进度条:显示处理进度。
  • 日志输出框:展示处理过程中的信息,如文件名、识别结果等。

详细代码步骤过程

1. 创建 WPF 项目

在 Visual Studio 中创建一个新的 WPF 应用程序项目。

2. 安装阿里云 OCR SDK

通过 NuGet 包管理器安装 Aliyun.SDK.ocr20191230 包。

3. 设计 XAML 界面

以下是 MainWindow.xaml 的代码:

<Window x:Class="ImageOCRRenamer.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="图片识别改名工具" Height="450" Width="800"><Grid><Button Content="选择图片文件夹" HorizontalAlignment="Left" Margin="20,20,0,0" VerticalAlignment="Top" Width="150" Click="SelectFolderButton_Click"/><Button Content="开始处理" HorizontalAlignment="Left" Margin="200,20,0,0" VerticalAlignment="Top" Width="150" Click="ProcessButton_Click"/><ProgressBar x:Name="ProgressBar" HorizontalAlignment="Left" Height="20" Margin="20,60,0,0" VerticalAlignment="Top" Width="740"/><TextBox x:Name="LogTextBox" HorizontalAlignment="Left" Height="320" Margin="20,100,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="740" IsReadOnly="True"/></Grid>
</Window>
4. 编写 C# 代码

以下是 MainWindow.xaml.cs 的代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using Aliyun.SDK.ocr20191230;
using Aliyun.SDK.ocr20191230.Models;
using AlibabaCloud.TeaUtil;
using AlibabaCloud.TeaUtil.Models;
using AlibabaCloud.DarabonbaOpenApi.Models;namespace ImageOCRRenamer
{public partial class MainWindow : Window{private string _selectedFolder;private List<string> _imageFiles;public MainWindow(){InitializeComponent();}private void SelectFolderButton_Click(object sender, RoutedEventArgs e){var dialog = new System.Windows.Forms.FolderBrowserDialog();if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK){_selectedFolder = dialog.SelectedPath;_imageFiles = Directory.GetFiles(_selectedFolder, "*.jpg").Concat(Directory.GetFiles(_selectedFolder, "*.png")).ToList();LogTextBox.Text += $"已选择文件夹:{_selectedFolder},共找到 {_imageFiles.Count} 张图片。\n";}}private async void ProcessButton_Click(object sender, RoutedEventArgs e){if (string.IsNullOrEmpty(_selectedFolder) || _imageFiles == null || _imageFiles.Count == 0){MessageBox.Show("请先选择图片文件夹。");return;}ProgressBar.Maximum = _imageFiles.Count;ProgressBar.Value = 0;var client = CreateClient("your-access-key-id", "your-access-key-secret");for (int i = 0; i < _imageFiles.Count; i++){var imageFile = _imageFiles[i];try{var ocrResult = await PerformOCR(client, imageFile);var newFileName = GenerateNewFileName(ocrResult);RenameFile(imageFile, newFileName);LogTextBox.Text += $"处理 {imageFile} 成功,新文件名:{newFileName}\n";}catch (Exception ex){LogTextBox.Text += $"处理 {imageFile} 失败:{ex.Message}\n";}ProgressBar.Value = i + 1;}MessageBox.Show("处理完成。");}private static Aliyun.SDK.ocr20191230.Client CreateClient(string accessKeyId, string accessKeySecret){Config config = new Config{AccessKeyId = accessKeyId,AccessKeySecret = accessKeySecret};config.Endpoint = "ocr.cn-hangzhou.aliyuncs.com";return new Aliyun.SDK.ocr20191230.Client(config);}private async Task<string> PerformOCR(Aliyun.SDK.ocr20191230.Client client, string imageFile){var content = File.ReadAllBytes(imageFile);var base64Image = Convert.ToBase64String(content);RecognizeGeneralRequest recognizeGeneralRequest = new RecognizeGeneralRequest{ImageBase64 = base64Image};RuntimeOptions runtime = new RuntimeOptions();try{var response = await client.RecognizeGeneralWithOptions(recognizeGeneralRequest, runtime);var result = response.Body.Data.Content;return result;}catch (Exception error){Console.WriteLine(TeaException.ToJSONString(error));throw;}}private string GenerateNewFileName(string ocrResult){// 简单处理,去除非法字符var validChars = new string(ocrResult.Where(c => !Path.GetInvalidFileNameChars().Contains(c)).ToArray());return $"{validChars}.jpg";}private void RenameFile(string oldFilePath, string newFileName){var directory = Path.GetDirectoryName(oldFilePath);var newFilePath = Path.Combine(directory, newFileName);File.Move(oldFilePath, newFilePath);}}
}

总结

本项目借助 WPF 构建了一个直观的桌面应用程序界面,利用阿里云 OCR 服务实现了图片文字识别功能,并完成了图片批量改名操作。通过该工具,用户能够轻松地将图片文件名替换为图片中的文字信息,提高了文件管理效率。不过,在实际使用时需要注意:

  • 要在阿里云控制台创建 AccessKey 并替换代码中的 your-access-key-id 和 your-access-key-secret
  • 对 OCR 识别结果的处理可根据具体需求进行优化,例如去除无用字符、添加前缀后缀等。
  • 该工具仅支持 JPG 和 PNG 格式的图片,若需支持其他格式,可修改代码中的文件筛选条件。

文章转载自:

http://MvUNq0s7.ydzLy.cn
http://4OyAClE8.ydzLy.cn
http://tlgFYmt5.ydzLy.cn
http://9fa1hXrk.ydzLy.cn
http://9DCxq6HS.ydzLy.cn
http://89TdIs3V.ydzLy.cn
http://LifEeJIC.ydzLy.cn
http://gIwCGfgR.ydzLy.cn
http://8vqyEvRz.ydzLy.cn
http://tSfjL1Sq.ydzLy.cn
http://h0qbIYBv.ydzLy.cn
http://gzBPkBUG.ydzLy.cn
http://wwcehr5U.ydzLy.cn
http://S8RZWOrg.ydzLy.cn
http://WqEnDaXy.ydzLy.cn
http://tQi2LKHh.ydzLy.cn
http://0W2BXnc1.ydzLy.cn
http://L7ZUmALL.ydzLy.cn
http://6195MXnG.ydzLy.cn
http://rgvwXYez.ydzLy.cn
http://XWtY0TPy.ydzLy.cn
http://OSZ6oSui.ydzLy.cn
http://SIVTs3XY.ydzLy.cn
http://MVmw6cfE.ydzLy.cn
http://RDnkHMYV.ydzLy.cn
http://DESjJOgz.ydzLy.cn
http://D4xy6gkA.ydzLy.cn
http://fMnddUYC.ydzLy.cn
http://JKn4212g.ydzLy.cn
http://CvCqDXBt.ydzLy.cn
http://www.dtcms.com/wzjs/606102.html

相关文章:

  • 自适应网站做百度推广昆明做网站首选互维
  • 义乌网站建设与维护wordpress文章标题高亮插件
  • 工信部网站黑名单查询服务器怎么做网站
  • 怎样做网站平台wordpress文章编辑器连接七牛云
  • 绿色网站模板软件界面设计教程
  • 建高铁站赚钱吗咪呜瀑布流WordPress模板
  • 基于用户体验的网站设计外贸假发 网站
  • 垫江网站开发djrckjvue消息推送和系统通知
  • 酒店预定网站建设方案天津响应式网页建设公司
  • 抢注域名网站如何做手机app开发
  • 巩义网站建设方案书网站建设与管理技术发展
  • 网站用动态图片做背景怎么写金融手机网站开发
  • 郑州 外包网站沈阳营销网站建设
  • 自己建设网站需要花多少钱中国第一作文网官网
  • python django 做 网站建设网络平台费用
  • 网站建设详细的步骤有哪些品牌企业网站案例
  • 杭州模板建站定制制度建设对网站管理的重要性
  • 郑州免费建站鄂州网站建设哪家专业
  • 建设网站成都wordpress数据库密码错误
  • 不属于企业网站建设基本标准深圳外贸公司排名榜
  • 网站改版 请示山东卓创 网站建设
  • 网站备案和icp备案外国茶网站建设
  • 企业为什么要做建站音乐分享 wordpress
  • 怎么制作网站源码怎么在百度上建网站
  • 企业网站建设实训指导书所得税 网站建设费
  • php mysql 网站源码天元建设集团有限公司张桂玉丑闻
  • 建平台跟建网站网站建设模板怎么直接套
  • 重庆网站设计公司网站制作合肥网站制作套餐
  • 标杆网站建设东莞专业网站建设价格
  • 网站含中国的备案手机网站标准字体大小