找回密码
 立即注册

QQ登录

只需一步,快速开始

Twang

高级会员

4

主题

20

帖子

1652

积分

高级会员

积分
1652

活字格认证

最新发帖
Twang
高级会员   /  发表于:2015-8-31 16:22  /   查看:10709  /  回复:10
照着博客上的对比图像demo写的代码,编译都通过了,就是运行的时候就出现下面的问题了,求解答啊!!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

10 个回复

倒序浏览
Twang
高级会员   /  发表于:2015-8-31 16:25:00
沙发
调试的时候就说beforePic.Image = codes.    ..这句代码,有问题在 System.IO.FileNotFoundException 中第一次偶然出现的“mscorlib.dll”类型的异常,“Leadtools.RasterException”类型的未经处理的异常出现在 Leadtools.dll 中。怎么解决????
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-8-31 18:02:00
板凳
回复 2楼Twang的帖子

请你尝试拷贝本机的 C:\LEADTOOLS 19\Common\License 文件夹下文件到 debug 目录下,看能否正常使用。
回复 使用道具 举报
Twang
高级会员   /  发表于:2015-9-1 09:25:00
地板
回复 3楼iceman的帖子

好的,谢谢!尝试过了,也成功了,请问为什么要将这两个文件放在debug下呢?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-1 09:56:00
5#
回复 4楼Twang的帖子

这是厂商的授权策略。
LeadTools默认会在Exe根目录下查找License文件。如果不希望放到debug目录下,也可以通过博客中的“Runtime license 使用方法”部分通过代码设置:http://blog.gcpowertools.com.cn/ ... e-by-leadtools.aspx
回复 使用道具 举报
Twang
高级会员   /  发表于:2015-9-2 11:43:00
6#
回复 5楼iceman的帖子

仍然是在这个demo中,我改换了两张图片,但现在我不想只是抓一个L字母了,而是想一次多抓几个字符,如下图我想将“风前”这两个字在右侧抓出来,这个代码该怎么改呢????

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-9-2 15:55:00
7#
回复 6楼Twang的帖子

您能否将您使用的图片上传一份原图,我这边做个测试。
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-9-2 16:36:00
8#
回复 6楼Twang的帖子

您好,
其实关键代码在这个搜索按钮里,我帮您添加了一些注释,帮助您来理解这个方法中都做了什么,这样便于您修改代码。
// 创建一个区域这个区域位置在:距离顶部5像素、距离左侧5像素,宽度35,高度35
LeadRect rc_cor = new LeadRect(0, 0, 35, 35);           
CorrelationCommand cmd = new CorrelationCommand();
// 需要查找的图片
cmd.CorrelationImage = beforePic.Image;
// 将刚才建好的区域添加到查找的L型图片中
cmd.CorrelationImage.AddRectangleToRegion(null, rc_cor, RasterRegionCombineMode.Set);
// 创建一个查找结果数据(预估90个数量)
cmd.Points = new LeadPoint[90];
// 匹配度,0-100的数字,越大越精确,越小越模糊
cmd.Threshold = 90;
// 查找时X轴每次查找对比的像素个数
cmd.XStep = 2;
// 查找时Y轴每次查找对比的像素个数
cmd.YStep = 1;
// 在目标图片上查找L
cmd.Run(afterPic.Image);
            for (int i_cor = 0; i_cor < cmd.NumberOfPoints; i_cor++)
            {
                // 将查找到的结果区域标示出来
            }

以上就是查找核心代码了,
如您所说,如果您需要更改查找的内容,只需要更换查找图片就行了,例如将L字符图片换为T,然后按照T字大小修改这一句:
LeadRect rc_cor = new LeadRect(0, 0, 35, 35);   

但我提示一下您,博客中的例子有缺陷,请您在循环后追加一句:afterPic.Refresh();
否则找到的区域不会刷新。
以上,谢谢。
回复 使用道具 举报
Twang
高级会员   /  发表于:2015-9-2 16:58:00
9#
回复 8楼AvoCaDolol的帖子

好的,我先试试看,有问题了在联系你们
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-2 17:01:00
10#
回复 9楼Twang的帖子

好的,有问题欢迎继续交流
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部