coreBugZJ

此 blog 已弃。

MageX 自己做的图像处理及OCR软件

        我很菜,使用了开源代码。。。

        先发几个WinXP下的截图:










打开图像对话框图像预览





简介:

本作品拥有文字(目前仅限于英文和数字)识别能力。

拥有大部分主流图像处理算法,如:高斯模糊,锐化,腐蚀,灰化,等等,足以胜任平时的图像处理工作。

灵活的绘图能力,如:绘制文本时,可以设置背景色及其透明度,设置背景矩形四角的弧度,设置文本颜色,像素级精确文本位置,设置字体,动态修改文本区域,等等;颜色填充时,可以将填充限制在选定的区域内,可以设置颜色容差,透明度,等等。

可以从 TWAIN 源(摄像头,等)获取图像。

支持20种图像文件格式,可以处理100M的大型图像文件。

精确的几何绘图能力,像素级控制几何图形。

可将若干图像整合为一个,整合方式及相对位置可以灵活控制。

等等其它特性。



        图像处理库是开源库 CxImage 6.0;
        OCR 用了开源 gocr 0.49
        开发工具 VC6.0 , MFC   MDI 框架



开发中的几点小插曲:
        因为 VC6.0 是破解版的,所以就只好在虚拟机中开发(我本机上的软件可全都是来源可靠的!!!)。
        虚拟机是 VirtualBox (支持开源,支持免费!!),虚拟 Win7 太慢了,还是 XP 实用。
        破解版的 VC6.0 不给力呀,只要编辑 Cursor 资源,系统就会崩溃(虚拟机中的XP崩溃),郁闷之下,直接编辑 RC 脚本,却发现VC自动编辑的有点乱,于是兴致来了,将之手工整理了一遍,2K 多行本该由 VC 自动编辑的文件,让我料理了一遍,我有点多事了。

        不得不承认,Win7 较之 XP 有极大的更新。在图像上编辑文本的模块,在 XP 下工作良好,到了 Win7 下就几乎处于暂停状态,仔细一检查,同样的API  函数 GetPixel,在 XP 中性能良好,到了 Win7 下就比蜗牛还慢,无奈,回到 XP 中修改,唯一的办法就是不用这个函数。
        怎么绕过这个函数呢? 可以把图像数据全取出来放到位图中,然后访问位图嘛,如下
        CDC   dcMem;
        CBitmap bmp;

        this->HideCaret();
        this->RedrawWindow();

        CClientDC dc( this );
        dcMem.CreateCompatibleDC( &dc );
        bmp.CreateCompatibleBitmap( &dcMem, width, height );

        CBitmap *pOldBmp = dcMem.SelectObject( &bmp );
        dcMem.BitBlt( 0, 0, width, height, &dc, 0, 0, SRCCOPY );
        dcMem.SelectObject( pOldBmp );

        然后在 bmp 中取色吧,可是为了让文本背景透明,必须设置 pDC->SetBkMode( TRANSPARENT ); ,可是这样一来,bmp 中全是黑色,没有意义了。
        思来想去,毫无头绪。。。直到晚上七点多,终于决定,去散步。。。
        独自一人穿着拖鞋在华师大游荡。。。我坚信自己没有遇到熟人
        九点回来,搞定之。。。

        开发过程还算顺利,给老师看看初步成果。然而。。。在老师的机器上不能正常运行,悲剧。。。回来仔细检查,确定没有问题呀。。。于是乎,我开始怀疑 VC6.0 了,Debug 出来的正常,Release 出来就不行,果断换了一个VC6.0,OK。。。NND 破解版





可以在这里下载,免费使用,希望有兴趣的同学一起开发,继续增强之。。。。


可执行文件 /Files/coreBugZJ/MageX.rar
一个简陋的使用说明 /Files/coreBugZJ/User.txt




posted on 2011-03-16 15:11 coreBugZJ 阅读(1946) 评论(2)  编辑 收藏 引用 所属分类: VideoImage

Feedback

# re: MageX 自己做的图像处理及OCR软件 2011-03-28 13:44 阿福

文本的匹配你是怎么做到的?支持中文识别吗?  回复  更多评论   

# re: MageX 自己做的图像处理及OCR软件 2011-03-28 19:25 coreBugZJ

文字识别使用了 gocr,不支持中文识别。
google的开源ocr, tesseract ,支持中文的。
MageX后来有了不少更新,没有放上来,还在更新中。。。  回复  更多评论   



只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理