当前位置: 首页 > news >正文

WPF+Halcon 培训项目实战(1-5):Halcon安装,图像处理,Halcon简单模板匹配

文章目录

  • 前言
  • 相关链接
  • 项目专栏
  • 我个人对就业市场的评价
  • Halcon安装
  • 实战1-4:Halcon基础
  • 实战5:模板匹配[形状匹配]
    • 实战代码
  • 结尾

前言

为了更好地去学习WPF+Halcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只做笔记分享,想要源码或者教学视频可以和他联系一下。

相关链接

微软系列技术教程 WPF 年度公益课程

Halcon开发 CSDN博客专栏

个人学习的Gitee 项目地址仓库

项目专栏

WPF+Halcon实战项目

我个人对就业市场的评价

  • 前后端:
    • 竞争太激烈:基本是的人都会。
    • 技术栈太多:前后端的技术太多了。没有统一。而且技术一直在更新
    • 互联网下行:经济下行,互联网缩招,根本没有那么多的岗位
    • 生态挤占:Java才是后端的主流,C# 不可能打破Java的垄断地位。
  • 上位机:
    • 技术清晰。语言就两个,[C++]+C#。开发框架就3个,QT+Winfrom/WPF。
      • QT:C++和跨平台。高性能,开发周期长
      • Winfrom:简单,但是界面比较丑
      • WPF:好看,但是学习成本高。但是WPF在设计之初的时候已经基本完美了,而且基本不再更新,学一次,用一辈子。

目前看看WPF+Halcon我能不能找到工作。哎,不清楚啊。至少能有个10k吧,如果有12K那就更好了。

Halcon安装

halcon-20.11-windows安装教程

实战1-4:Halcon基础

这里就不展开了,可以看我之前的专栏博客

Halcon开发 CSDN博客专栏

实战5:模板匹配[形状匹配]

模板匹配就是找类似的图形。我们可以打开Halcon的教学案例,可以看到有很多的模板匹配案例。这里由于我们只是了解一下模板匹配,这里我们就不展开说明了。
在这里插入图片描述

实战代码

测试图片
在这里插入图片描述

* 读取文件
read_image (Image, '1.png')
dev_close_window ()
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
dev_display (Image)* 选择矩形ROI
* 绘制矩形获取参数
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
* 矩形参数转矩形
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
* 使用矩形截取图形
reduce_domain (Image, Rectangle, ImageReduced)* 重新覆盖图形
dev_display (Image)* 创建匹配模板
* 创建模板文件,默认是弧度制,可以使用rad将度数转弧度,旋转弧度为0-180
create_shape_model (ImageReduced, 'auto', rad(0),rad(180), 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
* 使用模板匹配文件,获取匹配结果数组,旋转弧度为0-180
find_shape_model (Image, ModelID, rad(0),rad(180), 0.5, 0, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)
* 循环数组输出
tuple_length (Score, Length)
for Index := 0 to Length-1 by 1disp_cross (WindowHandle, Row, Column, 20, 0)disp_message (WindowHandle, 'Score:'+Score[Index], 'window', Row[Index], Column[Index]+100, 'black', 'true')
endfor

在这里插入图片描述
在这里插入图片描述

结尾

我们后面会将Halcon的代码转到WPF代码中。Halcon代码只是用来一个简单的WPF测试案例,之后可以替换成任意的Halcon代码。

http://www.lryc.cn/news/270277.html

相关文章:

  • 虚函数的讲解
  • Java强软弱虚引用
  • QCharView使用
  • 华为hcia之ipv6实验手册
  • 算法设计与分析-图算法小结BFS/DFS/Topologic/Dijkstra/Floyd/最大流
  • CentOS 8 安装指定版本ansible
  • 策略模式(及案例)
  • 苹果CMS超级播放器专业版无授权全开源,附带安装教程
  • 项目记录:利用Redis实现缓存以提升查询效率
  • 腾讯云16核32G28M轻量服务器CPU流量性能测评
  • 【并发设计模式】聊聊等待唤醒机制的规范实现
  • CentOS:docker同一容器间通信
  • 数据治理:释放数据价值的关键
  • 新手快速上手掌握基础排序<一>
  • 2023年03月21日_chatgpt宕机事件的简单回顾
  • RK3568测试tdd
  • 机器学习系列13:通过随机森林获取特征重要性
  • flink中值得监控的几个指标
  • 最优化方法Python计算:无约束优化应用——逻辑分类模型
  • springboot定时执行某个任务
  • Java EE Servlet之Servlet API详解
  • neo4j运维管理
  • 【MYSQL】-函数
  • 传统船检已经过时?AR智慧船检来助力!!
  • JAVA进化史: JDK11特性及说明
  • 模型 安索夫矩阵
  • 性能手机新标杆,一加 Ace 3 发布会定档 1 月 4 日
  • Vue 框架前导:详解 Ajax
  • 3分钟快速安装 ClickHouse、配置服务、设置密码和远程登录以及修改数据目录
  • PHP8使用PDO对象增删改查MySql数据库