【图片识别内容改名】图片指定区域OCR识别并自动重命名,批量提取图片指定内容并重命名,基于WPF和阿里云OCR识别的解决

发布于:2025-05-09 ⋅ 阅读:(5) ⋅ 点赞:(0)

基于WPF和阿里云OCR的图片区域识别与自动重命名解决方案

应用场景

  1. ​电商商品管理​​:批量处理商品图片,从固定区域识别商品名称、型号、价格等信息,重命名为"商品名称_型号_价格.jpg"格式
  2. ​档案数字化​​:扫描后的合同、文件等图片,从固定位置识别合同编号、日期等关键信息进行重命名
  3. ​物流单据管理​​:识别货运单上的车号、批次号等信息,重命名图片以便快速检索
  4. ​财务票据处理​​:从发票固定区域识别发票号码、金额等信息进行文件命名
  5. ​工程图纸管理​​:提取图纸中的编号、版本等信息进行批量重命名

界面设计

<Window x:Class="AliyunOCRRenamer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="OCR图片识别重命名工具" Height="550" Width="800">
    <Grid>
        <!-- 文件选择区域 -->
        <Button Content="选择图片文件夹" HorizontalAlignment="Left" Margin="20,20,0,0" 
                VerticalAlignment="Top" Width="150" Click="SelectImageFolder_Click"/>
        <TextBox x:Name="ImageFolderTextBox" HorizontalAlignment="Left" Height="23" 
                 Margin="180,20,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="580" IsReadOnly="True"/>
        
        <!-- 阿里云配置 -->
        <Label Content="阿里云AccessKey ID:" HorizontalAlignment="Left" Margin="20,60,0,0" VerticalAlignment="Top"/>
        <TextBox x:Name="AccessKeyTextBox" HorizontalAlignment="Left" Height="23" 
                 Margin="150,60,0,0" VerticalAlignment="Top" Width="200"/>
        <Label Content="阿里云AccessKey Secret:" HorizontalAlignment="Left" Margin="20,90,0,0" VerticalAlignment="Top"/>
        <PasswordBox x:Name="AccessSecretBox" HorizontalAlignment="Left" Height="23" 
                     Margin="150,90,0,0" VerticalAlignment="Top" Width="200"/>
        
        <!-- 图片显示和区域选择 -->
        <Image x:Name="PreviewImage" HorizontalAlignment="Left" Margin="20,130,0,0" 
               VerticalAlignment="Top" Width="350" Height="250"/>
        <Canvas x:Name="SelectionCanvas" HorizontalAlignment="Left" Margin="20,130,0,0" 
                VerticalAlignment="Top" Width="350" Height="250" Background="Transparent"/>
        
        <!-- 操作按钮 -->
        <Button Content="开始识别" HorizontalAlignment="Left" Margin="400,130,0,0" 
                VerticalAlignment="Top" Width="100" Click="StartOCR_Click"/>
        <Button Content="批量重命名" HorizontalAlignment="Left" Margin="400,170,0,0" 
                VerticalAlignment="Top" Width="100" Click="BatchRename_Click"/>
        
        <!-- 识别结果和日志 -->
        <TextBox x:Name="ResultTextBox" HorizontalAlignment="Left" Height="150" 
                 Margin="400,210,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="360" IsReadOnly="True"/>
        <Label Content="操作日志:" HorizontalAlignment="Left" Margin=&

网站公告

今日签到

点亮在社区的每一天
去签到