• 大小: 52.49 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-11-29
  • 语言: 其他
  • 标签: 图像识别  

资源简介

图像识别c++源码,次二代开发!图片识别率不是很高,仅用于学习!

资源截图

代码片段和文件信息

// AntiVC_Demo.cpp : AntiVC.dll演示程序。
//

#include
#include 
#include 

int main()
{
HINSTANCE hInst = LoadLibraryA(“AntiVC.dll“);//载入AntiVC.dll
if (!hInst)
{
std::cout<<“无法加载 AntiVC.Dll!“;
getchar();
return 0;
}

/*
AntiVC.dll导出函数说明:
int LoadCdsFromBuffer(//成功返回当前识别库文件索引,失败返回-1
char[] FileBuffer //识别库文件二进制数据
int FileBufLen//识别库文件数据尺寸
char[] Password);//识别库调用密码

int LoadCdsFromFile(//成功返回当前识别库文件索引,失败返回-1
char[] FilePath,//识别库文件所在路径
char[] Password);//识别库文件所在路径

-------以上两个函数用于载入识别库文件----------

bool GetVcodeFromBuffer(  //能识别返回真,否则返回假
int CdsFileIndex //识别库文件索引
char* ImgBuffer  //验证码图像二进制数据
int ImgBufLen //验证码图像尺寸
char[] Vcode);//返回的已识别验证码文本

bool GetVcodeFromFile( //能识别返回真,否则返回假
int CdsFileIndex //识别库文件索引
char[] FilePath  //验证码文件所在路径
char[] Vcode);   //返回的已识别验证码文本

-------以上两个函数用于识别验证码----------

*/
//-----------LoadCdsFromFile------------
typedef int (CALLBACK* LPLoadCds)(char[]char[]);
LPLoadCds LoadCdsFromFile = (LPLoadCds)GetProcAddress(hInst “LoadCdsFromFile“);

/*
//-----------LoadCdsFromBuffer------------
typedef int (CALLBACK* LPLoadCds)(char[]intchar[]);
LPLoadCds LoadCdsFromBuffer = (LPLoadCds)GetProcAddress(hInst “LoadCdsFromBuffer“);
*/

int index = LoadCdsFromFile (“网易论坛.cds“,“thisisdemo“);//载入识别库

if (index == -1)//返回-1说明载入识别库出错
{
std::cout<<“载入识别库出错。“;
getchar();
return 0;
}


//-----------GetVcodeFromFile------------
//typedef bool (CALLBACK* LPGetVcode)(intchar[]char[]);
//LPGetVcode GetVcodeFromFile = (LPGetVcode)GetProcAddress(hInst “GetVcodeFromFile“);

//-----------GetVcodeFromBuffer------------
typedef bool (CALLBACK* LPGetVcode)(intchar*intchar[]);
LPGetVcode GetVcodeFromBuffer = (LPGetVcode)GetProcAddress(hInst “GetVcodeFromBuffer“);

char result[5];//定义一个字符串以接收验证码,这里验证码字符数是4,所以取5.

HANDLE pfile = CreateFile(“wy.JPG“GENERIC_READFILE_SHARE_READ0OPEN_EXISTING00);

if(pfile == INVALID_HANDLE_VALUE){
std::cout<<“文件打开失败!“;
CloseHandle(pfile);
return 0;
}

unsigned long filesize = GetFileSize (pfile NULL);
char* buffer = new char[filesize]; 
unsigned long readsize;
ReadFile(pfilebufferfilesize&readsizeNULL);
CloseHandle(pfile);

if(GetVcodeFromBuffer(indexbufferfilesizeresult))
std::cout<<“验证码识别成功:“< else
std::cout<<“验证码识别失败!“;

getchar();
return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1566  2010-11-24 10:33  wy.JPG

     文件        953  2012-05-21 14:34  网易论坛.cds

     文件      47104  2011-12-08 10:33  AntiVC.dll

     文件       2745  2011-03-23 10:16  AntiVC_Demo.cpp

     文件      41984  2011-01-23 19:04  AntiVC_Demo.ncb

     文件       3461  2010-11-24 09:24  AntiVC_Demo.dsp

     文件        530  2010-11-24 09:34  AntiVC_Demo.dsw

     文件      48640  2011-01-23 19:04  AntiVC_Demo.opt

     文件       5225  2012-05-21 14:35  DLL接口说明.txt

----------- ---------  ---------- -----  ----

               152208                    9


评论

共有 条评论