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

算子窗口操作

抠图 (提取图像感兴趣的区域)

 
* 使用halcon 抠图* 窗体属性设设置: 设置窗体绘制图案的模式   magrin边框模式(只有一个边框)  
* fill填充模式(边框内部会有一个遮罩层)
dev_set_draw ('fill')* 设置颜色
dev_set_color ('green')
* 设置线宽dev_set_line_width (5)read_image (Image, 'printer_chip/printer_chip_01')* 获取当前图像窗口的句柄
dev_get_window (WindowHandle)*draw_rectangle1() 设置在哪个窗口绘制矩形,以及获取坐标(不会绘制)
*参数1: 窗口的句柄
*参数2: 输出x
*参数3: 输出y
*参数4: 输出x1
*参数5: 输出y1* halcon中横向的是y轴   纵向的是x轴  行列坐标
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)* 根据起点和终点的坐标,在窗体上绘制矩形  生成一个区域类型的变量
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)* 获取当前区域的 阈值范围
* 设置选择的图像正常显示,其他的区域被黑色遮住
* 参数1: 原始图像
* 参数2: 选择的区域
* 参数3: 生成的新图像
reduce_domain (Image, Rectangle, ImageReduced)* 根据阈值范围抠图* 参数1: 需要提起的图像
* 参数2:提取出的新图像
crop_domain (ImageReduced, ImagePart)

halcon 窗体有关的算子【函数】

特点: dev_开头 在Hdevelop 开发工具中有那些窗体

  1. 图像窗口:用于渲染 图片,区域,轮播 视频流等

  2. 变量窗口:用户展示输出变量;图像变量,控制变量

  3. 程序窗口;用于编写图像算法程序

  4. 算子窗口;用于查看算子的参数;输出 输入 类型

  5. 监控窗口;监视元素变化 ,对象类型等


* 窗口有那些操作:*1.新建窗体
*2.设置窗体中显示的内容
*3.关闭窗体,输出窗体
*4.更新窗体
*5.设置窗体属性: 背景颜色 字体大小 绘制图像
*6.在窗体上绘制图形,显示文本....test:=[1,2,3,4]* 打开监视变量的窗体
* 参数1: 需要监视的变量
dev_inspect_ctrl (test)* 暂停程序
stop()
test[1]:=666stop()test[2]:=888*关闭监视test变量的窗体
dev_close_inspect_ctrl (test)* 打开一个新的窗体
dev_open_window (0, 0, 600, 600, 'black', aaa)
dev_open_window (0, 0, 500, 500, 'yellow', bbb)
dev_open_window (0, 0, 400, 400, 'green', ccc)*关闭窗体  默认关闭最后一个窗体
* dev_open 打开窗体 放到集合中    dev_close 是从集合的尾部删除元素
dev_close_window ()*设置窗体的属性 ,设置的是最后打开的图像窗体上的属性
dev_set_color ('red')
dev_set_draw ('margin')
dev_set_line_width (10)
*设置错误的显示方式
dev_set_check ('~give_error')* 绘制圆形
*参数1: 在哪个窗口中绘制
*参数2参数3圆心的坐标
* 参数4 :半径
draw_circle (bbb, Row, Column, Radius)*绘制圆形  
* 参数1: 绘制出来的圆形
* 参数2参数3: 需要绘制的圆的圆心坐标
* 参数4:半径
gen_circle (Circle, Row, Column, Radius)dev_get_window (WindowHandle)draw_circle (WindowHandle, Row1, Column1, Radius1)gen_circle (Circle1, Row1, Column1, Radius1)* disp 是display 的 简称  表示  显示* 参数1: 在哪个窗体显示
* 参数2,参数3: 显示的圆心坐标
* 参数4: 半径
disp_circle (WindowHandle, Row1, Column1, Radius1)* 注意:当开启多个图形窗口的时候,很多操作都要注意先后顺序* 很多算子,都是在最后打开的窗体中操作的

加载图像划分区域


*使用工具生成代码
*图形窗口   -->绘制新的ROI  -->选择要绘制的形状   ---> 工具--->插入代码
gen_rectangle1 (ROI_0, 143.754, 108.459, 218.251, 281.718)stop()dev_clear_window ()read_image (Image, 'printer_chip/printer_chip_01')* 获取图像高度和宽度
get_image_size (Image, Width, Height)* 根据像素之间的灰度值将图像划分成n个区域
* 参数1:输入图像
* 参数2:输出区域的集合
* 参数3:横向像素之间的距离
* 参数4:纵向像素之间的距离
* 参数5:  灰度值
* 参数6: 输出区域的最小面积
regiongrowing (Image, Regions, 3, 3, 6, 100)
* 获取区域的总数量
count_obj (Regions, Number)for Index := 1 to Number by 1dev_clear_window()* 从集合中获取某个对象select_obj (Regions, ObjectSelected, Index)dev_display (ObjectSelected)
endfor

 生成网格图像

* 生成网格图片 类型是图像类型
gen_image_squared_paper (ImageSquaredPaper)

 

窗体文本标记

文本标记流程

  1. 创建描述文字的变量

  2. 设置窗体上显示文字的,种类,大小 ,颜色,以及哪个窗体的属性

  3. 将文字显示到窗体上

  4. 显示在哪个窗体,哪个位置上,生么字体,大小多啊后,背景颜色,字体颜色,盒子阴影...等属性

  5. 文字既可以在窗体上,也可以在图片,标记。

* 初始化
dev_close_window ()dev_get_window (WindowHandle)*设置某个窗体上文本显示的带大小   字体类型  是否粗体
*参数1: 窗体的句柄
*参数2:字体大小
*参数3:字体类型
*参数4:是否为粗体
*参数5:是否为斜体
set_display_font (WindowHandle, 16, 'sans', 'true', 'false')* 在图像窗口上显示文本
*参数1:需要显示的文本内容
*参数2: window 表示在窗体上显示文字  Image表示在图像上显示文字
* 参数3参数4 显示的位置  top left 左上角  
*  top 上   bottom 下   left 左  right 右 center 中间
dev_disp_text ('吴亦凡1', 'window', 'top', 'left', 'black', [], [])dev_disp_text ('吴亦凡2', 'window', 'center', 'center', 'black', [], [])dev_disp_text ('吴亦凡3', 'window', 'bottom', 'right', 'black', [], [])* 设置显示到某一个坐标位置
dev_disp_text ('吴亦凡4', 'window', 100, 100, 'black', [], [])*  参数5 字体颜色
dev_disp_text ('吴亦凡5', 'window', 100, 100, 'red', [], [])* 
dev_disp_text ('吴亦凡6', 'window', 150, 150, 'black', ['box_color'], ['green'])
dev_disp_text ('吴亦凡6', 'window', 150, 150, 'black', ['shadow'], ['false'])dev_disp_text ('吴亦凡6', 'window', 150, 150, 'black', ['shadow_color','box_color'], ['yellow','green'])https://blog.csdn.net/chenai886/article/details/145136736

 关于算子详细的窗体操作:

HALCON 【窗体操作】 dev_disp_text_halcon disptext-CSDN博客

相关文章:

  • apache http client连接池实现原理
  • Android车载应用开发:Kotlin与Automotive OS深度实践
  • vue好用插件
  • 大语言模型与人工智能:技术演进、生态重构与未来挑战
  • Arthas:Java诊断利器实战指南
  • 网站制作公司哪家强?(2025最新版)
  • 【C语言】(10)—指针4
  • 用户刷题记录日历——签到表功能实现
  • 蓝耘Ubantu服务器测试最新 PP-StructureV3 教程
  • eBay健康类目新标杆,单月24万单的选品公式与流量打法拆解
  • 程序代码篇---Python处理ESP32-S3-cam视频流
  • 分布式电源的配电网无功优化
  • 新导游入行规范与职业发展指导
  • 选择合适的Azure数据库监控工具
  • SOPHGO算能科技BM1688内存使用与编解码开发指南
  • 数据库主从集群 + GTID 实现高可用
  • 【android bluetooth 协议分析 02】【bluetooth hal 层详解 3】【高通蓝牙hal主要流程介绍-上】
  • Java SpringBoot 项目中 Redis 存储 Session 具体实现步骤
  • 虚拟机NAT模式获取不到ip
  • ConcurrentHashMap导致的死锁事故
  • 做服务型党员网站/广州:推动优化防控措施落
  • 中国建造师官方网站查询/制作网页的网站
  • 闵行20路/广西seo关键词怎么优化
  • 网站数据库清空/网站推广怎么做有效果
  • 上海公司查询网站/网络推广优化方案
  • wordpress生产静态页面/浙江企业seo推广