硬币金额统计

项目要求:统计金币金额,并将结果显示在界面上
硬币金额统计
有1角、5角、1元以及他们的正反面图像

项目流程:

graph TD
A(开始)--> B(CogPMAlignTool 一元模板)
B --> C(CogPMAlignTool 五角模板)
C --> D(CogPMAlignTool 一角模板)
D --> E(CogResultsAnalysisTool Note:VisionPro CogResultsAnalysisTool 工具将表达式的值转换为int、Double等数据类型,输出给其他控件) E --> F(CogCreateGraphicLabelTool)
 F --> H(结束)

硬币金额统计(工具实现)

模板训练

  1. 新建项目,保存为:01硬币金额统计(无脚本).vpp
  2. 导入图像:img文件夹
    导入硬币图像
  3. 导入PMA工具指定链接图象源,并修改名称为:PMA-yiyuan
    PMA-yiyuan
  4. 设置PMA-yiyuan
    • 找一个图片源比较合适的一元图像
      特征比较明显.png
  • 抓取图像,设置为当前训练图
    抓取图像.png
  • 设置训练中心原点
  • 设置运行参数:角度-180~180
  • 设置查找概数:2
  • 设置PMA参数.png
  1. 因为一元是有正反面,我们需要在这里做一下:图像掩模
    图像掩模.png
  • 选择工具:矩形工具
    矩形工具
  • 填充当前选项:注意红色部分表示是当前我们不感兴趣的细节(忽略掩膜像素颜色)
  • 请添加图片描述
  • 选择工具:笔刷,调整笔刷大小,关注未掩膜像素颜色

刷关注的掩膜像素.png

  • 应用
  • 掩膜应用.png
  1. 训练
    训练
  2. 图形:显示精细。发现寻找的就是内外的边线
    显示精细.png
  3. 查看结果1
    查看结果
    查看结果2.png
  4. 把 PMA-yiyuan 赋值一份:
    • 设置图像输入源:链接自:Image Source.OutputImage
    • 重命名:PMA-wujiao
    • 寻找一张五角合适的图像
    • PMA-wujiao.png
  5. 抓取训练图像(设置中心原点)
    抓取训练图像.png
  6. 设置掩膜
    * 打开掩膜工具,先清除上次的掩膜
    * 设置掩膜1.png
  • 制作掩膜:工具:矩形工具(框选)

  • 设置掩膜2.png

  • 擦出关注的掩膜的颜色:工具:笔刷,选择关注的颜色,调整笔刷大小
    设置掩膜3.png

  • 点击应用 -> 确定

  1. 点击训练(图形->显示精细)
    训练结果1.png

  2. 测试结果
    测试结果.png

  3. 赋值一份 PMA-wujiao(同理制作):PMA-yijiaoPMA-yijiao

  4. 训练结果(如果有对应的硬币没训练出来,重新做训练,重新做掩膜)

训练结果1
16. 修改概数值(把所有的都运行一下,看看是否都找得到)
![修改概数值(https://i-blog.csdnimg.cn/direct/e305adb7cbb84abe97238988fbc7b1bf.png)
修改概数值1
添加结果分析工具

  1. 添加结果分析工具:CogResultsAnalysisTool
  2. 给上面的一元,五角,一角添加统计结果数:右键 -> 添加终端 (同理:给其他两个也添加一下)
    添加统计结果数
  3. 设置分析工具:添加3个输入
    添加3个输入
  4. 修改参数名称
    修改参数名称
  5. 把上面的匹配结果拖拽给分析工具
    匹配结果拖拽给分析工具
  6. 添加统计表达式
    • 添加表达式
      添加统计表达式1
  • 添加表达式逻辑
    添加统计表达式2
  • 修改表达式名称
    添加统计表达式3
  1. 需要把结果累加一下,继续添加表达式
    * 添加两个表达式,并修改名称为:money12和money123,分别表示:1圆+五角+1角
    累加
  2. 把 money123 添加为输出:![money123输出(https://i-blog.csdnimg.cn/direct/b36a9f56d2164587b5ed7298423851c0.png)
  3. 点击运行,查看 money123 结果运行结果2

把统计结果显示出来

  1. 添加显示控件:CogCreateGraphicLabelTool
  2. 设置图像源:链接自(Source Image.OutputImage)
  3. 把 统计分析的结果 money123 拖拽到 Label 的 InputDouble 上(发现拖拽不了)
  4. 拖拽不了的解决办法:
    * 选中 CogResultsAnalysisTool 上右键 -> 选择 添加终端…… ->
    * 浏览:所有未过滤
    所有未过滤
  • 找到 Result -> EvaluateExpressions -> Item[money123] -> Value -> Double 添加输出
    添加money123的double变量.png
  1. 把上面的结果拖拽到 Label 控件的 Double 上、
    拖拽结果.png

  2. 双击 CogCreateGraphicLabelTool,把内容 -> 选择器 -> InputDouble 类型
    修改为double.png

  3. 修改 Label 的位置
    修改Label的位置.png

  4. 修改字体大小和字体颜色:红色,三号

  5. 修改文本格式:总金额:{D:F1}
    修改格式和字体.png
    自己测试各种对齐方式.png
    效果图4.png
    效果5.png

自行拓展

自行拓展.png

硬币金额统计(脚本实现)

前面的话,我们已经实现了没有脚本的统计与显示,加下来演示一下有脚本的情况。

  1. 把上节课的 CogCreateGraphicLabelTool 删除
  2. 添加一个 CogToolBlock 控件
  3. 把我们的工具都拖进去
    CogToolBlock控件.png
  4. 把图像拖给 CogToolBlock,重新设置一下输入源
    重新设置一下输入源.png
  5. 打开 CogToolBlock 的高级 C# 脚本
    高级脚本.png
  6. 脚本实现:
    脚本1.png
    ``
    // 1.添加一个 Label
    CogGraphicLabel myLabel = new CogGraphicLabel();
    // ……
    // 2. 设置Label坐标
    myLabel.SetXYText(0, 0, “Hello World”);
    // ……
    // 3.添加 Label
    mToolBlock.AddGraphicToRunRecord(myLabel,lastRecord,“PMA-yiyuan.InputImage”,“”);
    脚本2结果.png
  7. 脚本实现:
     脚本3.png
// 1.添加一个 Label
CogGraphicLabel myLabel = new CogGraphicLabel();
// ……
// 获取统计结果工具
CogResultsAnalysisTool c = mToolBlock.Tools["CogResultsAnalysisTool1"] as CogResultsAnalysisTool;
// 2. 设置Label坐标
myLabel.SetXYText(100, 100, "总金额:" + c.Result.EvaluatedExpressions["money123"].Value.ToString());
// 自行设计字体的大小和颜色
// ……
// 3.添加 Label
mToolBlock.AddGraphicToRunRecord(myLabel,lastRecord,"PMA-yiyuan.InputImage","");

脚本1结果.png
7. 把每一种硬币的个数都展示出来怎么做,两种做法:

  • 利用一个 Label 拼接
  • 创建多个 Label 分别展示(自行完成)
  1. 继续修改代码:
    代码
// 1.添加一个 Label
CogGraphicLabel myLabel = new CogGraphicLabel();
// ……
 // 获取统计结果工具
CogResultsAnalysisTool c = mToolBlock.Tools["CogResultsAnalysisTool1"] as CogResultsAnalysisTool;
// 2. 设置Label坐标
myLabel.SetXYText(350, 100, "1元个数:" + c.Result.EvaluatedExpressions["yiyuan"].Value.ToString() + 
",5角个数:" + c.Result.EvaluatedExpressions["wujiao"].Value.ToString() + 
",1角个数:" + c.Result.EvaluatedExpressions["yijiao"].Value.ToString() + 
",总金额:" + c.Result.EvaluatedExpressions["money123"].Value.ToString());
myLabel.Color = CogColorConstants.Red;
// ……
// 3.添加 Label
mToolBlock.AddGraphicToRunRecord(myLabel,lastRecord,"PMA-yiyuan.InputImage","");

脚本3结果.png

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VisionPro硬币统计是一种基于视觉技术的硬币分类和计数系统。该系统使用先进的图像处理算法和人工智能技术,能够将混杂在一起的硬币自动分类和计数。 VisionPro硬币统计首先通过摄像头获取硬币的图像,然后利用图像处理算法对硬币的特征进行提取和分析。系统可以识别硬币的大小、形状、颜色和纹理等特征,并根据这些特征将不同种类的硬币进行分类。 在分类完成后,VisionPro硬币统计还会对每个分类的硬币进行计数。系统能够精确地统计每个种类的硬币数量,同时还可以计算总体的硬币数量。 除了分类和计数功能外,VisionPro硬币统计还具有其他实用的功能。例如,系统可以检测硬币是否存在异常,比如损坏、变形或伪造等情况。此外,系统还可以生成详细的统计报告,包括每个种类的硬币数量、总计金额和图表等信息。 VisionPro硬币统计可以广泛应用于各种需要快速、准确进行硬币分类和计数的场合。例如,它可以在商业银行、超市、自助贩卖机等地方用于自动识别、分类和计数硬币。它还可以用于硬币收藏爱好者的日常管理和鉴别工作中。 总的来说,VisionPro硬币统计通过视觉技术实现了硬币的自动分类和计数,提高了工作效率和准确性,为各种场合提供了便利和实用的解决方案。 ### 回答2: VisionPro硬币统计是一种使用VisionPro视觉系统进行硬币计数的技术。这个系统通常用于在硬币制造业中进行自动化的硬币检测和计数。它使用先进的图像处理算法和高分辨率的相机来检测和识别硬币的特征,从而进行准确的统计。 VisionPro硬币统计系统的工作原理如下:首先,硬币会通过传送带或其他装置被送入视觉系统的检测区域。相机会对硬币进行拍摄,并将图像传输给计算机进行处理。在处理过程中,计算机会使用预先训练好的模型和算法来识别硬币的形状、大小和其他特征,从而进行分类和计数。 VisionPro硬币统计系统具有高精度和高效率的特点。它能够在短时间内处理大量的硬币,并准确地统计它们的数量和价值。这对于硬币制造商来说非常重要,因为它可以帮助他们提高生产效率和质量控制,并减少人力成本和错误。 此外,VisionPro硬币统计系统还可以根据需要进行定制和扩展。它可以根据硬币的不同尺寸和形状进行调整,以适应不同类型的硬币。它还可以与其他生产线设备和数据库进行连接,以便实现更高级的功能,比如数据分析和追溯。 总之,VisionPro硬币统计是一项先进的技术,它利用视觉系统和图像处理算法来实现精确和高效的硬币计数。它在硬币制造业中具有广泛的应用前景,并为制造商提供了更好的生产和管理工具。 ### 回答3: VisionPro硬币统计是一种通过计算机视觉技术来实现硬币数量统计的方法。该技术利用计算机软件和摄像头来捕捉硬币图像,并通过算法进行分析和统计。 在使用VisionPro硬币统计的过程中,首先需要将摄像头对准硬币堆放区域,然后通过软件将图像传输到计算机中。计算机会对图像进行处理,包括分割和识别硬币。 图像分割是指将硬币与背景进行区分。通过采用不同的颜色、形状和纹理特征,算法可以将硬币与其他物体分离出来。然后,图像识别算法会对硬币进行分类,并进行数量统计。 为了提高准确性,VisionPro硬币统计系统通常会进行一些图像增强和噪声过滤操作。例如,对图像进行平滑处理、对比度增加等。 在统计过程中,VisionPro硬币统计系统可以提供多种数据结果。最基本的是硬币的数量,包括不同种类硬币的数量。此外,还可以统计硬币的直径、面积、重量等相关参数。 VisionPro硬币统计的优点是速度快、准确性高。相比手工统计,该系统可以节省大量的时间和人力,同时避免了人为因素对统计结果的影响。此外,通过计算机视觉技术,硬币统计可以实现自动化、无接触的操作,提高了工作效率。 综上所述,VisionPro硬币统计是一种利用计算机视觉技术实现硬币数量统计的方法,具有快速、准确和自动化的优点。在硬币统计方面具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值