Halcon提取彩色多通道图像的亚像素边缘edges_color_sub_pix算子

Halcon提取彩色多通道图像的亚像素边缘edges_color_sub_pix算子

如要要提取彩色多通道图像的亚像素边缘,可以使用edges_color sub pix算子。该算子与edges_sub_pix 算子的参数十分相似,但又有所区别。首先从名称上看,edges color sub pix 算子多了一个color,表示它接受彩色多通道图像的输入,它使用Canny 等滤波器提取亚像素精度的彩色边缘。另一个区别是,滤波器可选的类型不同。edges_color_sub pix 算子支持 Deriche、Shen.Canny 3个大类的滤波器和一个sobelfast 滤波器,而edges_sub_pix算子支持的滤波器类型更丰富一些。

但也有许多地方是相似的,如edges_color_sub_pix算子也包括一些以"junctions"结尾的滤波器,这些特殊的滤波器更适用于一些断开的边缘,同时也使用了滞后阈值对滤波器提取出的边缘进行判断。

下面举一个例子说明edges_color_sub_pix 算子的用法,并测试不同的滤波器类型对计算结果的影响。图为使用cdges_color_sub_pix 算子进行亚像素边缘提取的结果。输入图片仍是图(a)。图(a)为使用canny 算子进行边缘滤波的结果,低阀值为5,高阈值为50。图(b)为使用sobel_fast 算子进行边缘滤波的结果,但是因为背景噪声的影响,得到了许多不相关的线条,因此需要对滞后阈值的范围进行调整,否则会得到过多的背景线条。于是将低阈值提高到了40,此时边缘数量稍有减少。实际检测中可根据检测目标与背景的提取情况对高低闽值进行进一步调整,以减少结果中的背景线条。

实现代码如下:

bash 复制代码
read_image (Image, 'data/flower') 
*使用canny算子进行亚像素边缘提取
edges_color_sub_pix (Image, Edges1, 'canny', 0.5, 5, 50)
*使用canny算子进行亚像素边缘提取
edges_color_sub_pix (Image, Edges2, 'sobel_fast', 0.5, 40, 70)
dev_clear_window ()
dev_display (Edges1) 
dev_display (Edges2)

本例中使用edges_color_subpix 算子进行彩色图像的亚像素边缘的提取,并分别使用了canny和sobcl-fast 滤波方法,最后对比了其对提取结果的影响。

相关推荐
CES_Asia1 分钟前
政策x技术x市场:三位一体推动机器人产业爆发
大数据·人工智能·科技·机器人
小苑同学3 分钟前
Masked Language Models是什么?
人工智能·语言模型·自然语言处理
ASS-ASH7 分钟前
机器人灵巧手:技术演进、市场格局与未来前景
人工智能·深度学习·神经网络·机器学习·计算机视觉·机器人·灵巧手
Deepoch8 分钟前
“即插即用”的智能升级:具身智能模块如何破解机器人产业化难题
人工智能·科技·机器人·开发板·未来·具身模型·deepoc
AI营销前沿8 分钟前
原圈科技AI营销内容生产革新险企内容工厂新模式解析
人工智能
小北的AI科技分享8 分钟前
科普AI搜索优化:传统SEO变革与新技术概述
人工智能
weixin_395448919 分钟前
TDA4工程和tda2工程相比,数据预处理部分tda4有哪些升级?带来了什么好处,tda2原来的数据预处理有哪些坏处
人工智能·python·机器学习
xiangzhihong810 分钟前
GPU的集体运算是如何工作的
人工智能
黑客思维者10 分钟前
一文读懂神经网络分类:从基础架构到前沿融合
人工智能·神经网络·分类
Francek Chen12 分钟前
【自然语言处理】应用02:情感分析:使用循环神经网络
人工智能·pytorch·rnn·深度学习·神经网络·自然语言处理