识别邮政网银红黑干扰验证码例子

By admin at 2019-07-02 • 0人收藏 • 1642人看过

感谢aar群里: 小学生 提供的ocr识别dll和库

邮政验证码有红黑干扰, 需要祛除黑色字干扰, 这个利用gpid.bitmap就可以了.

import win.ui;
import Tocr;
import inet.http
import crypt.bin
/*DSG{{*/
mainForm = win.form(text="OCR英数万能高级版";right=359;bottom=221)
mainForm.add(
button={cls="button";text="识别";left=39;top=167;right=130;bottom=205;z=3};
button2={cls="button";text="识别";left=229;top=167;right=320;bottom=205;z=6};
edit={cls="edit";left=92;top=120;right=263;bottom=151;disabled=1;edge=1;z=2};
groupbox={cls="groupbox";left=10;top=3;right=353;bottom=216;edge=1;z=1};
picturebox={cls="picturebox";left=39;top=32;right=164;bottom=93;border=1;notify=1;z=4};
picturebox2={cls="picturebox";left=214;top=32;right=339;bottom=93;border=1;notify=1;z=5}
)
/*}}*/

import gdip;
import console
console.open()
Tocr = Tocr()
http = inet.http()
mainForm.button.oncommand = function(id,event){
	if(!img){mainForm.edit.text = "请先点击图片框下载验证码!"
	return;}
	var img = crypt.bin.encodeBase64(img)
	var code = Tocr.OcrCode(img)
	if(code){mainForm.edit.text = "识别结果为:"++code	}
}

getimg = function(){
	 img = http.get("https://pbank.psbc.com/perbank/VerifyImage?update=0.9671032051568338")

     mainForm.picturebox.image = img

     if(img){
     		bmp = gdip.bitmap( img )
     		//获取位图数据
			var bmpdata = bmp.lockData32();
			
			//修改图像内存数据
			for(h=1;bmp.height ){
				for(w=1;bmp.width){  
					if(bmpdata.bits.rows[h].pixels[w] <= 0xFF677379){
						bmpdata.bits.rows[h].pixels[w] = 0xFFD9F5FF;
					}
					
				} 
			}
			
			//解除内存锁定、刷新的位图数据
			bmp.unlockData(bmpdata);
     		
     		mainForm.picturebox2.setBitmap(bmp.copyHandle()) ;
     }
}

mainForm.picturebox.oncommand = function(id,event){getimg()}

mainForm.button2.oncommand = function(id,event){
    var hbmp = bmp.saveToBuffer()
	if(!hbmp){mainForm.edit.text = "请先点击图片框下载验证码!"
	return;}
	var hbmp = crypt.bin.encodeBase64(hbmp)
	var code = Tocr.OcrCode(hbmp)
	if(code){mainForm.edit.text = "识别结果为:"++code	}
}

mainForm.show();
return win.loopMessage();

GIF.gif


2 个回复 | 最后更新于 2024-06-18
2024-06-18   #1

大佬,ocr识别dll和库能分享一下吗

2024-06-18   #2

回复#1 @ggjk :

通过百度网盘分享的文件:本地OCR验证码… 链接:https://pan.baidu.com/s/1O6r22yVhpk0x8Iozf-0lYg?pwd=9zo2  提取码:9zo2 复制这段内容打开「百度网盘APP 即可获取」

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...