news 2026/4/23 11:19:15

Halcon图像锐化和图像增强、窗口的相关算子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Halcon图像锐化和图像增强、窗口的相关算子

*图像锐化和图像增强:

•图像锐化:frei_amp ()
•边缘提取算子:edges_image()
•亚像素边缘提取 :edges_sub_pix()
•骨架提取:skeleton()
•图像增强:emphasize()
•图像光照增强:illuminate()
*// 获取图像 read_image (Image, 'printer_chip/printer_chip_01') *// 图像锐化:一般是用于边缘提取,得到图像轮廓 *// Frei-Chen边缘幅值检测(基于Frei-Chen算子的图像锐化/边缘提取) *// 原理: 通过Frei-Chen卷积核计算图像梯度,输出边缘幅值(锐化后的图像) *// 参数1: 输入原始灰度图像 *// 参数2: 输出边缘幅值图像(像素值表示边缘强度,值越大边缘越明显) frei_amp (Image, ImageEdgeAmp) *// 边缘提取算子 *// 参数1: 输入原始图像 *// 参数2: 输出边缘幅值图像(每个像素的边缘强度) *// 参数3: 输出边缘方向图像(每个像素的边缘方向,角度值) *// 参数4: 边缘检测算法('canny'=Canny算法,最常用;还有'sobel'/'roberts'等) *// 参数5: 高斯平滑sigma值(>0,值越大平滑越强,边缘越少;值越小保留细节但易有噪点) *// 参数6: 边缘细化方式('nms'=非极大值抑制,仅保留边缘幅值最大的像素,得到单像素宽边缘) *// 参数7: 低阈值(Canny算法的双阈值之一,低于此值的边缘直接舍弃) *// 参数8: 高阈值(Canny算法的双阈值之一,高于此值的边缘保留,高低阈值间的边缘需连接到高阈值边缘才保留) edges_image (Image, ImaAmp, ImaDir, 'canny', 1, 'nms', 20, 40) *// 清空窗口 dev_clear_window () *// 亚像素边缘提取 * 参数1 Image 输入图像 * 参数2 Edges 输出亚像素边缘轮廓 * 参数3 'canny' 边缘检测算法 * 参数4 1 高斯平滑sigma值 * 参数5 20 低阈值 阈值越高检测到的边缘越少 * 参数6 40 高阈值 阈值越低检测到的边缘越多 * 对比度阈值区间值越高 检测的边缘(轮廓线)越少,反之检测的轮廓线越多 edges_sub_pix (Image, Edges, 'canny', 1, 20, 40) *// 清空窗口 dev_clear_window () edges_sub_pix (Image, Edges, 'canny', 1, 80, 100) *// 阈值分割 threshold (ImageEdgeAmp, Region, 30, 255) *// 骨架提取(将边缘区域细化为单像素宽的轮廓线) *// 原理: 迭代腐蚀区域,直到区域变为单像素宽的骨架,保留区域的拓扑结构 *// 参数1: 输入待细化的区域(阈值分割后的边缘区域) *// 参数2: 输出骨架区域(单像素宽的边缘轮廓) skeleton (Region, Skeleton) *// 清空窗口 dev_clear_window () *// 图像增强 *// 先对图像做低通滤波,再用原始图像减去低通图像,增强边缘和细节 *// 参数1: 输入原始图像 *// 参数2: 输出增强后的图像 *// 参数3: 低通掩膜宽度(11,奇数,掩膜越大增强效果越明显) *// 参数4: 低通掩膜高度(11,奇数,与宽度一致保证各向同性) *// 参数5: 对比度强度因子(1,>0,值越大对比度增强越显著) emphasize (Image, ImageEmphasize, 11, 11, 1) *// 清空窗口 dev_clear_window () *// illuminate--图像光照增强(模拟光照效果,提升局部亮度/对比度) *// 原理: 基于高斯函数模拟光源照射效果,增强图像局部区域的亮度 *// 参数1: 输入原始图像 *// 参数2: 输出光照增强后的图像 *// 参数3: 光源宽度(101,奇数,控制光照影响的横向范围) *// 参数4: 光源高度(101,奇数,控制光照影响的纵向范围) *// 参数5: 光照强度(0.7,取值0~1,值越大光照越强,图像越亮) illuminate (Image, ImageIlluminate, 101, 101, 0.7)

*窗口的相关算子:

•打开一个指定大小的新窗口:dev_open_window ()
•打开一个窗口自适应图像的大小:dev_open_window_fit_image ()
•获取图像大小:get_image_size()
•打开具有给定最小和最大范围的新图形窗口:dev_open_window_fit_size()
•关闭窗口(只关闭一个窗口)dev_close_window ()
•清空内容:dev_clear_window ()
•打开一个文件对话框窗口:dev_open_file_dialog()
*// 获取图像 read_image (Image, 'printer_chip/printer_chip_01') *// 获取当前窗口句柄 dev_get_window (WindowHandle) *// 指定大小打开一个窗口 * 参数1、2 打开的位置 * 参数3、4 打开的大小 * 参数5 WindowHandle1 新窗口的句柄对象 dev_open_window (0, 0, 512, 512, 'black', WindowHandle1) *// 打开一个窗口 去自适应图像的大小 dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle2) *// 获取图像大小 get_image_size (Image, Width, Height) *// 显示图片 dev_display (Image) *// 指定窗口大小去打开一个窗口来展示图像100*100区间的图像 * 打开具有给定最小和最大范围的新图形窗口,以便保留给定图像大小的宽高比 * 参数1:相对于HDevelop窗口的y坐标 * 参数2:相对于HDevelop窗口的x坐标 * 参数3: 图像宽度 * 参数4: 图像高度 * 参数5: 宽度最大值 * 参数6: 高度的最大值 * 参数7: 窗口句柄 dev_open_window_fit_size (0, 0, 100, 100, -1, -1, WindowHandle3) get_image_size (Image, Width1, Height1)//获取图像大小 dev_display (Image)//显示图片 *// 打开一个文件对话框窗口 *参数3 打开指定路径下的文件的路径 *参数4 Selection打开文件的路径 dev_open_file_dialog ('read_image', 'default', 'C:/', Selection) *// 清空内容 dev_clear_window () *// 关闭窗口(只关闭一个窗口) dev_close_window ()

希望对大家有所帮助, 感谢大家的关注和点赞。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 11:15:23

Node.js看我的就行了!!!

#最近nodejs崩了好多次,所以我决定重装。由于没有卸载干净,折腾了我两天# 终于,我今天下午装好了 我们从卸载开始(没有安装的小伙伴直接到第二步) 一、卸载node.js Windows系统彻底卸载 nodejs 1. 开始菜单中搜索node,找到并…

作者头像 李华
网站建设 2026/4/23 8:34:39

Node.js卸载超详细步骤(附图文讲解)

Node.js卸载超详细步骤 1、通过控制面板删除node版本2、删除node的安装目录3、查找.npmrc文件是否存在,有就删除。4、查看以下文件是否存在,有就删除5、打开系统设置,检查系统环境变量,将node相关的配置都删掉6、查看是否删除成功…

作者头像 李华
网站建设 2026/4/23 9:58:12

Node.js HTTP模块详解:创建服务器、响应请求与客户端请求

Node.js HTTP模块详解:创建服务器、响应请求与客户端请求 Node.js 的 http 模块是 Node.js 核心模块之一,它允许你创建 HTTP 服务器和客户端。以下是一些关键知识点和代码示例: 1. 创建 HTTP 服务器 使用 http.createServer() 方法可以创建一…

作者头像 李华
网站建设 2026/4/18 10:02:25

51单片机控制蜂鸣器演奏乐曲的玩具项目实践

让51单片机“唱”出童年旋律:用无源蜂鸣器实现音乐播放的完整实践你还记得小时候玩具车按下按钮时那声清脆的“嘀嘀嘀——”,或是电子贺卡打开瞬间响起的《生日快乐》吗?这些简单却令人难忘的声音,背后往往藏着一个不起眼的小元件…

作者头像 李华
网站建设 2026/4/23 9:57:28

Keil uVision5嵌入式C开发:从新建工程到下载运行手把手

从零开始点亮第一颗LED:Keil uVision5嵌入式开发实战全记录你有没有过这样的经历?手头一块STM32最小系统板,杜邦线接好,ST-Link也插上了,却卡在“工程怎么建”、“代码写完点哪个按钮烧录”这种基础问题上?…

作者头像 李华
网站建设 2026/4/16 20:03:18

MATLAB图邻接矩阵构建工具constructW详解与实现

引言 在图嵌入降维算法(如LPP、NPE、SDA等)中,邻接矩阵W(也称相似度矩阵或亲和矩阵)是核心组件,它定义了数据点之间的连接关系和权重,直接影响算法对局部流形结构的捕捉能力。一个好的W构建函数需要支持多种邻域选择方式(无监督KNN或监督模式)和权重赋值策略,同时兼…

作者头像 李华