![](https://img-blog.csdnimg.cn/53171a13f3424953b888bf23663d8e2f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Halcon视觉库
文章平均质量分 82
使用halcon视觉库的相关功能
&Mr.Gong
人生如逆旅 我亦是行人
展开
-
【Halcon&二维测量】——使用计量模型以亚像素精度测量圆和矩形
算法思路如下: 1.创建计量模型模板 2.根据先验知识生成相关图形形状,如矩形,圆,并将其加入到创建的模板中 3.设置模板的相关参数,包括图像大小,容忍度等 4.读入图像,并执行计量模型,测量并拟合计量模型中所有计量对象的几何形状 5.提取测量结果,测量的轮廓,定位区域,后补区域dev_update_off ()read_image (Image, 'pads')get_image_size (Image, ...原创 2021-08-04 17:01:12 · 1470 阅读 · 0 评论 -
【Halcon&二维测量】——2D计量模型
2D计量2D 计量的概念 通过二维计量,可以测量用特定几何体表示的物体的尺寸。可以测量的几何形状包括圆圈、椭圆、矩形和线条。我们需要测量对象的位置、方向和尺寸的近似值。然后,图像中对象的实际边缘位置位于近似对象的边界附近。通过这些边缘位置,对几何形状的参数进行优化,以更好地适应图像数据,并作为测量结果返回。 对象形状参数的近似值以及控制测量的某些参数存储在称为计量对象的数据结构中。图像中对象的边缘位于所谓的测量区域内。这些是垂直于计量对象边界排列的矩形区域。调整测...原创 2021-08-04 12:51:22 · 3326 阅读 · 0 评论 -
【Halcon】区域宽度提取
碰到中空图形区域可以参考下述算法提取区域宽度 *区域宽度提取部分代* dev_set_draw('margin') gen_contour_region_xld (Region, Out_Contours, 'border') fill_up (Region_glue, RegionFillUp) difference(RegionFillUp, Region_, Region_inside) gen_contour_region_xld (Region_ins原创 2020-09-15 20:26:15 · 8945 阅读 · 0 评论 -
Halcon 图像增强
Halcon中增强图像的对比度也是预处理中的一环,主要有如下方式:1.灰度值线性变换1)scale_image()scale_image(Image : ImageScaled : Mult, Add : )——缩放图像的灰度值。原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。功能描述: g’ := g * Mult + Add 为当前的灰度值。由公式可以看出scale_image算子处理图像是个线性变化,因此会扩大图像的对比度,会让黑的原创 2020-07-31 15:15:52 · 25429 阅读 · 6 评论 -
【Halcon】图像预处理
预处理:mean_image 消除噪声binomial_filter 消除噪声median_image 抑制小斑点或者细线smooth_image 平滑图像anisotropic_diffusion 平滑图像同时保存边缘(图像越大越耗时)1.mean_imagemean_image——通过一个均值平滑一个图像函数原型:mean_image(Image : ImageMean : MaskWidth, MaskHeight : )功能:算子(mean_image)对所有输入图像(Image)原创 2020-07-30 08:16:03 · 4076 阅读 · 0 评论 -
halcon中connection、union1与concat_obj间的区别
Connection是将区域分散开,只要是没有交集的区域,都分成不同的单独小区域,用不同颜色进行标记,一般在图像分割后使用。Union1恰恰相反,是就是把不同的Region联合起来,组成一个大的Region。是将分散的区域合并,是并集操作。Concat_obj是将两个Region或元组合并到第一个里面。...原创 2020-10-20 08:48:49 · 4657 阅读 · 0 评论 -
【Halcon】图像Image、区域Region、轮廓XLD间的保存与相互转换
1、直接保存write_image( image , ‘bmp’ , 0 , ‘D:/image/1’ )2、窗口保存 //带文字,region保存dump_window_image( image , 20000) //图像名,窗口句柄write_image( image , ‘bmp’ , 0 , ‘D:/image/1’ )3、裁剪后保存,改变尺寸crop_domain (ImageReduced, ImagePart)write_image (ImagePart, ‘bmp’, 0原创 2020-09-15 20:30:35 · 10536 阅读 · 3 评论 -
Halcon region区域提取及区域转图像
在VS中调用Halcon中的分割之类函数后,直接返回显示时会报错,因为是把返回值当成L了Image变量直接赋值给了图像数据buffer,返回的是被分割后的Regions,因此从Regions中获取get_image_pointer1或get_image_pointer3时就会报错,提示函数没有灰度值。因此需要将Regions连接起来生成一个大的区域,然后将区域进行相关操作转化成Image,Halcon中有三个区域转图像算子:region_to_bin、region_to_label、region_to_m原创 2020-09-12 15:20:41 · 18892 阅读 · 1 评论 -
Halcon深度学习
Halcon深度学习视频资料:halcon深度学习模块-分类https://space.bilibili.com/408147714/channel/detail?cid=136452halcon深度学习-目标检测https://space.bilibili.com/408147714/channel/detail?cid=136453halcon深度学习-语义分割https://space.bilibili.com/408147714/channel/detail?cid=136455..原创 2020-08-12 09:12:40 · 1391 阅读 · 0 评论 -
计算二通道灰度图像——histo_2dim算子
histo_2dim——计算二通道灰度图像的直方图函数原型:histo_2dim(Regions, ImageCol, ImageRow : Histo2Dim : : )功能:histo_2dim计算区域Regions内两幅图像ImageCol, ImageRow的二维直方图。通道1 (ImageCol)的灰度值解释为行索引,通道2 (ImageRow)的灰度值解释为列索引。输出图像 Histo2Dim 点P(g1,g2)的灰度值表示(g1,g2)灰度值组合的频率,g1表示行索引,g2表示列索引。原创 2020-08-07 10:43:28 · 1515 阅读 · 1 评论 -
OCR字符识别
OCR(Optical Character Recognition),全称光学字符识别技术,在HALCON中,OCR常被用来分割区域及读取识别图像中的字符含义。原创 2020-08-03 19:05:29 · 756 阅读 · 0 评论 -
从HALCON13导出程序至Visual Studio VC++工程
1.从HALCON13.0导出C++程序Halcon中写完程序后,点击“文件”,选择“导出”导出文件及格式原创 2020-07-29 16:57:09 · 389 阅读 · 0 评论 -
Halcon 图形窗口显示文本
set_display_font (WindowID, 14, ‘mono’, ‘true’, ‘false’)功能:将当前窗口的文本字体设置为指定的属性大小、粗体和斜体。原创 2020-07-29 09:08:31 · 20801 阅读 · 2 评论 -
【Halcon】Region特征详解
经过一系列图像处理操作之后,我们会发现可能会有大同小异的一些region。因此我们需要根据一些特征,来选择想指定的region。求Region指定特征值:region_features(Regions : : Features : Value)——计算区域的形状特征功能:从指定的特征区域计算每个输入区域。输入参数:Regions——待检测区域Features——要检测的特征形状——默认值:‘area’——可选值:如下图所示。输出参原创 2020-07-28 15:16:31 · 7331 阅读 · 0 评论 -
了解并掌握Halcon HDevelop 仿真程序语法
8.1 参数的基本类型Halcon区分两种数据:控制数据(数字或字符串)和图标数据(图像,区域等)。进一步区分输入和输出参数可以获得四种不同的参数。如下:operator (iconic input : iconic output : control input : control output)显而易见,总是先传递图标输入对象,然后才传递图标输出对象。 图标数据后跟控制数据,并且输入参数紧随输出参数之后。四种类型的参数中的任何一个都可以为空。 例如,read_image的签名读取:read_im原创 2020-07-22 20:26:31 · 3363 阅读 · 0 评论 -
halcon中的图像相减算子abs_diff_image和sub_image之间的差异
1.abs_diff_imageabs_diff_image — 计算两幅图片的绝对差值函数原型:abs_diff_image(Image1, Image2 : ImageAbsDiff : Mult : )功能:该算子能够得到两幅图像相减后的结果图,其结果是以绝对值的方式呈现。主要用于计算两幅图像的差异,可用于和图片的对比测试。参数:Image1 (input_object) ——输入图片1Image2 (input_object) ——输入图片2ImageAbsDiff (output原创 2020-07-21 19:31:55 · 2756 阅读 · 0 评论 -
halcon算子——union1与union2的区别
1.union1union1()——把所有的输入区域合并为一个区域函数原型:union1(Region : RegionUnion : : )功能:函数将Region元组内的全部区域合并成一个独立的区域,保存于RegionUnion参数:Region (input_object) ——要计算其并集的区域,也就是一个个的输入区域RegionUnion (output_object) ——所有输入区域的并集原创 2020-07-21 16:11:01 · 11324 阅读 · 0 评论 -
halcon获取区域面积及中心算子area_center
函数原型:area_center(Regions : : : Area, Row, Column)功能: 测得区域的面积和中心位置。面积是由区域的像素个数决定,中心是由区域的行列坐标平均值所决定的。如果输入区域是多个,则输出变量分索引号也是多个,并且一一对应。如果区域为空,则所有的参数值为0.0。输入参数:Regions——被测区域。输出参数:Area——被测区域的面积。 Row原创 2020-07-21 14:08:58 · 10121 阅读 · 0 评论 -
Halcon算子—— reduce_domain和change_domain 的区别,crop_domain
reduce_domain 和change_domain共同点:二者都是改变图像定义域的算子,但不改变原图像size不同点:educe_domain 缩放原来定义域至新的范围,新的定义域必须是原来定义域的子域。是缩小一个图像的定义域,并不缩小图像的实际尺寸,即新图像ImageReduced尺寸大小并未发生变化。 change_domain 设定一个全新的定义域,和原来定义域无关原创 2020-07-21 13:57:09 · 3541 阅读 · 0 评论 -
Halcon 纹理分析
1.纹理分析 纹理分析指通过一定的图像处理技术提取出纹理特征参数,从而获得纹理的定量或定性描述的处理过程。纹理标出了表面的结构化特征,其在一张图像中展示了灰度值的变化。 纹理(texture)由纹理单元(texel)组成,纹理单元是纹理图像中最小的重复单元,texel是纹理的基本单元。 对于那些灰度值结构太复杂而不能简单解决的任务原创 2020-07-21 10:25:53 · 3203 阅读 · 0 评论 -
【Halcon】彩色图像分割及图像颜色空间转换
算子:decompose3 ——将三通道图像转换为三个图像函数原型:decompose3(MultiChannelImage : Image1, Image2, Image3 : : )功能:将3通道图像转换为具有相同定义域(ROI)的三个单通道图像。参数:MultiChannelImage (input_object) ——多通道图像Image1 (output_object) ——输出图像1Image2 (output_object) ——输出图像2Image3 (output_objec原创 2020-07-21 09:45:16 · 10488 阅读 · 0 评论 -
halcon模板匹配——算子vector_angle_to_rigid和affine_trans_contour_xld
在找到模板之后,还需要对其进行转化,使之能够显示,这里用到两个函数vector_angle_to_rigid()和affine_trans_contour_xld()。前一个是从一个点和角度计算一个刚体仿射变换,这个函数从匹配函数的结果中对构造一个刚体仿射变换很有用,把参考图像变为当前图像1.vector_angle_to_rigidvector_angle_to_rigid()——从点和角度计算刚性仿射变换。函数原型:vector_angle_to_rigid( : : Row1, Column1,原创 2020-07-21 09:13:26 · 20396 阅读 · 0 评论 -
halcon NCC模板匹配读写算子
find_shape_model(Image : : //搜索图像 ModelID, //模板句柄 AngleStart, // 搜索时的起始角度 AngleExtent, //搜索时的角度范围,必须与创建模板时的有交集 MinScore, //最小匹配值,输出的匹配的得分Score 大于该值 NumMatches, //定义要输出的匹配的最大个数原创 2020-07-20 16:43:54 · 1318 阅读 · 0 评论 -
【Halcon基本操作】文件遍历、读写、格式筛选等
1.遍历文件夹list_files — 遍历目录中的所有文件函数原型:list_files( : : Directory, Options : Files)参数:Directory(input_control):目录(文件夹路径)Options(input_control):处理选项 默认值: ‘files’ 建议值: &nbs原创 2020-07-20 14:27:19 · 2331 阅读 · 0 评论 -
图像形态学处理——膨胀腐蚀、 开闭运算
dilation_rectangle1()dilation_rectangle1 — 用矩形结构元素进行膨胀。函数原型:dilation_rectangle1(Region : RegionDilation : Width, Height : )描述: dilation_rectangle1对输入区域Region进行矩形膨胀应用。 构造矩形的大小为 Width x Height。该操作得到了放大的区域,并封闭了区域内部比矩形掩模小的孔。&原创 2020-07-20 13:44:11 · 8470 阅读 · 3 评论 -
【Halcon】模板匹配算子
函数原型:create_ncc_model( Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Metric : ModelID )功能:创建NCC模板,做匹配使用。参数AngleStart和AngleExtent决定可能的旋转范围参数列表:Template(in):单通道图像,它的区域可被创建为模板NumLevels(in):金字塔的最大层级AngleStart(in):模板的最小旋转AngleExtent(in):旋转角原创 2020-07-20 11:23:11 · 4779 阅读 · 5 评论 -
halcon算子描述——dev_close_window和dev_set_draw
算子:dev_close_windowdev_close_window — 关闭激活的活动图形显示窗口函数用法:dev_close_window( : : : )函数功能: 此算子是用来关闭打开的活动图形显示窗口的,例如是由dev_open_window算子打开的,或者关闭程序启动或加载新程序后自动由HDevelop创建的窗口(默认窗口)。 这个算子相当于直接点击活动窗口的标题栏原创 2020-07-20 09:24:38 · 2026 阅读 · 0 评论 -
【Halcon轮廓提取】
edges_image算子:edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )功能:使用Deriche, Lanser, Shen或者Canny 滤波器进行边缘提取参数:Image (input_object) : 单通道图像(数组)ImaAmp (output_object):多通道图像(数组),边缘振幅或梯度大小图像。ImaAmp输出变量,说的是edges的amplitude,其实就是梯度的大小(因为边缘原创 2020-07-18 14:18:42 · 17669 阅读 · 1 评论 -
halcon中XLD的概念及算子应用
XLD1.halcon中什么是XLD? XLD(eXtended Line Descriptions):换句话说XDL就是一个轮廓函数,它不是基于像素,人们通常称他为亚像素,只不过它比像素更精确,可以精确到像素内部的一种描述。 我们都知道图片是由像素组成,当我们用halcon读取图像Image或者region的时候,获得的数据就是像素。这些数据结构都是像素级别的。 &nb原创 2020-07-18 13:43:59 · 18159 阅读 · 1 评论