首页 > 编程语言 >[C#]基于C#调用WechatOCR.exe实现OCR文字识别

[C#]基于C#调用WechatOCR.exe实现OCR文字识别

时间:2024-07-20 10:29:06浏览次数:13  
标签:WechatOCR Console C# System 源码 vs2022 using OCR

【参考源码】

https://github.com/swigger/wechat-ocr

该作者又是参考https://github.com/EEEEhex/QQImpl

【测试环境】

vs2022专业版

netframework4.7.2

注意经过测试发现由于C++编译libprotobuf都是vs2022生成的导致dll均是vs2022开发,如果您使用vs2019或者其他版本会报错,所以只能在vs2022开发使用。开发前需要安装微信,目前是支持最新版本微信。

【演示界面】

 【接口调用源码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace FIRC
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Console.WriteLine("初始化");
            WechatOCR ocr = new WechatOCR(@"C:\Users\Administrator\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WeChatOCR\7079\extracted\WeChatOCR.exe", @"D:\Program Files\Tencent\WeChat\[3.9.11.19]");
            //Thread.Sleep(1000);
            
            Console.WriteLine("识别");
            string result = ocr.Ocr(@"D:\1.jpg");
            Console.WriteLine("输出结果");
            Console.WriteLine(result);
            Console.WriteLine("释放资源");
            ocr.Dispose();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            IntPtr p = WechatOCR.wechat_ocr(@"C:\Users\Administrator\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WeChatOCR\7079\extracted\WeChatOCR.exe", @"D:\Program Files\Tencent\WeChat\[3.9.11.19]",@"D:\1.jpg");
            Console.WriteLine(Marshal.PtrToStringAnsi(p));
        }
    }
}

【接口简要说明】

创建WechatOCR类对象后调用Ocr函数即可,注意接口目前只能是图片路径,不支持Bitmap,byte[],或者其他类型。

【视频演示】

基于C#调用WechatOCR.exe实现OCR文字识别_哔哩哔哩_bilibili测试环境】vs2022专业版netframework4.7.2注意经过测试发现由于C++编译libprotobuf都是vs2022生成的导致dll均是vs2022开发,如果您使用vs2019或者其他版本会报错,所以只能在vs2022开发使用。开发前需要安装微信,目前是支持最新版本微信。更多信息参考:https://blog.csdn.net/FL1623863129/article/details, 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 未来自主研究中心, 作者简介 未来自主研究中心,相关视频:【AI视频】喂灭霸吃紫薯,使用易语言调用opencv进行视频和摄像头每一帧处理,基于yolov5-6.0+bytetrack的目标追踪演示,将yolov8封装成一个类几行代码完成语义分割任务,OCR批量识别图片提取文字信息提取号码编号单号软件使用教程,OpenCvSharp利用微信二维码引擎实现二维码识别,C#实现全网yolov7目前最快winform目标检测,基于yolov8官方目标追踪botsort和bytetrack源码开发视频演示,利用大神开源代码,调用本地微信OCR进行图片文字识别,不是收费的用不起,而是免费的更有性价比,中文识别率挺高,不输付费软件,没网也能用,C# winform YOLO区域入侵检测任意形状区域绘制射线算法实现演示icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Lm42137eb/

【源码下载地址】

注意源码是C# winform源码,里面包含演示代码和所有DLL,C++端封装代码不开源。

https://download.csdn.net/download/FL1623863129/89554177

标签:WechatOCR,Console,C#,System,源码,vs2022,using,OCR
From: https://blog.csdn.net/FL1623863129/article/details/140531279

相关文章

  • 苦学Opencv的第六天:图像的几何变换
    PythonOpenCV入门到精通学习日记:图像的几何变换前言几何变换,顾名思义就是修改图像的几何结构,例如大小,角度和形状等等,让图像呈现不同的效果。这些几何变换的操作一般都涉及复杂且精密的计算,Opencv将这些计算过程全部都包装成了各种灵活的方法,我们只需要修改一些参数,就能实......
  • MCR DIMM如何解决内存带宽瓶颈?
    随着云计算、大数据、人工智能(AI)和高性能计算(HPC)等领域对内存带宽的迫切需求,存储技术的创新显得尤为重要。在这个背景下,MCRDIMM(MultiplexerCombinedRanksDIMM)应运而生,成为解决内存带宽瓶颈的关键技术之一。基础阅读:论文解读|数据中心内存RAS技术全景剖析数据中心......
  • PyTorch 中 nn.Conv2d()
    nn.Conv2d() 是PyTorch中用于定义二维卷积层(Convolutionallayer)的函数,它属于 torch.nn 模块,该模块包含了构建神经网络所需的所有构建块。二维卷积层是卷积神经网络(CNN)中最基本也是最重要的组件之一,广泛用于图像和视频处理、自然语言处理等领域。nn.Conv2d() 函数的基本语......
  • 「模拟赛」暑期集训CSP提高模拟2(7.19)
    学长组题+预告:题会有点难雀氏。。。题目列表A.活动投票B.序列C.LegacyD.DP搬运工1A.活动投票题意:衡中活动很多,人也很多,一次活动有$n$个学生参与投票,现已知一名参赛选手票数超过半数,求其参赛号$ai$​(参赛号随机,$0≤ai≤21474836470≤ai​≤2147483647)$。很......
  • Bugku——crypto
    把猪困在猪圈里下载附件:是一个文本文本内容:/9j/4AAQSkZJRgABAQEAYABgAAD/4RDaRXhpZgAATU0AKgAAAAgABAE7AAIAAAAFAAAISodpAAQAAAABAAAIUJydAAEAAAAKAAAQyOocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA......
  • Win11系统提示找不到LocationWinPalMisc.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个LocationWinPalMisc.dll文件(挑选合适的版本......
  • Win11系统提示找不到LogCollector.Resources.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个LogCollector.Resources.dll文件(挑选合适的......
  • 快速排序quicksort
    #include<iostream>usingnamespacestd;intpartition(inta[],intlow,inthigh){ intpivot=a[low]; while(low<high) { while(low<high&&a[high]>=pivot)//先从high开始 high--; a[low]=a[high]; while(low<high......
  • 折半查找BinarySearch
    折半查找的前提是在有序序列里查找。#include<iostream>usingnamespacestd;intBinarySearch(inta[],intsize,intx){ intleft=0,right=size-1; while(left<=right) { intmid=(left+right)/2; if(a[mid]==x) returnmid; elseif......
  • c++零基础知识要点整理(5)
    1.位与运算符:& (位与:代表把二进制的每个数的每一位从低到高进行运算(有0必0))逻辑与:&&(有假必假)(1)位与的定义:inta=0b1001;//0b1001是二进制表示法,0b代表用二进制表示,0b1001对应十进制数为:9intb=0b0101;//对应十进制数为:5a&b=0b0001;//12.位或运算符:| (有1即1)逻辑或:||......