最近接到一个身份证识别OCR软件项目,使用微软OFFCIE2003自带的OCR处理模块就可以很好识别,为了提高识别率打算把身份证图片的花纹去掉。在网上找到CxImage可以很好的处理图片。配置过程记录如下:
CxImage
最新版本:cximage600_full.7z
下载地址:http://www.xdp.it/cximage/600/cximage600_full.7z
测试项目:CxImageTest (在本地d:/CxImageTest)
在测试项目本地目录下建一个 "include"目录
当前目录结构如下:
d:/CxImageTest
--------|CxImageTest
--------|include
--------|CxImageTest.ncb
--------|CxImageTest.sln
........
下载后解压软件包得到cximage600_full 使用VC6 或VC8打开 (我使用的 VC8)
原包使用是VC6的项目,用VC8打开时提示项目文件转换的对话框 选择“全是”
然后编译所有项目,编译结束后在解压后的cximage600_full目录中搜索"cximagecrtd.dll、cximagecrtd.lib"( 成功编译后一定会产生这两个文件的)将这两个文件拷贝到d:/CxImageTest/CxImageTest下,之后在cximage600_full/CxImage目录中找出"xfile.h ximacfg.h ximadef.h ximage.h xiofile.h xmemfile.h" 这些头文件拷贝到d:/CxImageTest/include目录下。现在所需要要的头文件与库文件都具备了,剩下的只需要简单的配置下测试工程就可以了。
测试项目属性配置如下:
常规
字符集:使用多字节字符集
C/C++
附加包含目录:../include
运行时库:多线程调试DLL (这实际是默认值)
创建/使用预编译头:不使用预编译头
连接器
附加依赖项:./cximagecrtd.lib
部分测试代码
在stdafx.h中添加 #include "ximage.h"
在CxImageTestDlg.cpp 的“确定”按钮处理事件中添加
void CTestDlg::OnBnClickedOk()
{
CString openFileName;
openFileEdit.GetWindowText(openFileName); // openFileEdit 自定义的文本框关联变量
int nLen = openFileName.GetLength();
TCHAR* buffer = new TCHAR[nLen + 1];
strcpy(buffer, openFileName.GetBuffer(nLen));
CxImage image;
if( !image.Load(buffer))
{
delete buffer;
return;
}
delete buffer;
OnOK();
}
进行断点调试无误 表示可以正常使用CxImage进行图像处理了 可以自行添加一些处理功能。