halcon的算法 [问题点数:40分,无满意结帖,结帖人qq_35189603]

Bbs1
本版专家分:0
结帖率 66.67%
Bbs1
本版专家分:0
Halcon图像二值化
当图像中物体的灰度值存在差异,可以通过阈值分割的方法提取出目标所在区域。常用的算子有: auto_threshold 功能:根据直方图决定的阀值分割图像。 bin_threshold 功能:根据自动产生的阈值分割图像。 char_threshold 功能:为提取的字符产生一个分割阈值。 check_difference 功能:逐个像素的比较两幅图像。 dual_threhold 功能:对...
机器视觉算法halcon介绍
<em>halcon</em>是德国公司开发的一套很完善的机器视觉<em>算法</em>包,很广泛地应用于工业各个领域中,用途十分广泛,是一款值得学习的图像处理软件,<em>halcon</em>虽然没有opencv和matlab在图像处理领域应用更加广泛,专业性、集成封装性、稳定性在<em>halcon</em>上优势就很明显。经典例程很多,可以参考和学习的地方很多。确实是这样的,例程中的应用也十分广泛,从二维图像分析角度,包括:二维测量、二维码识别、二维位置定位、...
Halcon函数总结(八)
fill_up(Region : RegionFillUp : : )   //填充region中的孔 fill_up_shape(Region : RegionFillUp :Feature,Min,Max : )  //填充指定形状特征的孔 例程:process_shape_model.hdev              ball_seq.hdev ===========
Halcon 学习笔记(灰度值插值算法
#Halcon 学习笔记(灰度值插值<em>算法</em>) 本文内容翻译自 Halcon 应用笔记 :Gray Value Interpolation,根据我自己的理解,对原文内容进行了删减。 这篇笔记介绍 Halcon 算子中用到像素插值<em>算法</em>。对于使用 Halcon 其实是不需要了解插值<em>算法</em>的细节的。但是了解细节可以让我们更好的应用那些算子。 我们知道在对图像进行旋转、缩放或者畸变校正时就会涉及到像素插值。比如...
Halcon学习(2):利用工具进行二值化及特征选择
代码如下: //Halcon代码 dev_close_window() dev_open_window(0,0,780,330,'black',WindowHandle) read_image(Image,'E:/HalconImage/1.jpg') rgb1_to_gray(Image,GrayImage) threshold (GrayImage, Regions, 18, 251)...
halcon图像预处理之图像增强
图像增强一般通过如下几种方式: 1. 灰度值线性变换 scale_image: g’ := g * Mult + Add g为当前的灰度值,Mult 为所乘的系数,Add为加的偏移值,由公式可以看出用scale_image来处理图像是个线性变化,会让黑的地方更黑,亮的地方更亮。 scale_image_max:将灰度值拉伸到0-255。 2. 增强图像对比度 - emphasize(Image...
halcon的编程算法和数据处理
1、跟其他语言不完全一致的表达符号 赋值符号:= 引号 ' ' (一律是单引号) 求商求余 / % (一个整数除以另一个数,如何使商是实型的?即浮点型) 逻辑运算 and or not xor(异或) 逻辑真假 true false 等于 = 和 == 都行 不等于 != 和 # 都行 2、程序控制语法 程序语法与Delphi、VB...
Halcon学习笔记-深度学习 preprocess_dl_classifier_images描述
** preprocess_dl_classifier_images (Procedure) ** 简短描述 preprocess_dl_classifier_images — Preprocess images for deep-learning-based classification training and inference. *预处理图像,为基于深度学习的分类训练和推论做准备 描述 T...
读OpenCV之小侃高斯滤波
一、前言: 关于高斯滤波在我的前一篇文章《数字图像基本处理<em>算法</em>》中有所谈及那篇只是介绍了高斯滤波的应用,现在这一篇将着重简介高斯滤波的原理和应用,一探个究竟! 二、啥是高斯滤波?好吃么?             高斯滤波,说白了就是一个函数来对输入的信号(其实这里的信号就
图像几何变换(缩放、旋转)中的常用的插值算法
在图像几何变换的过程中,常用的插值方法有最邻近插值(近邻取样法)、双线性内插值和三次卷积法。 最邻近插值: 这是一种最为简单的插值方法,在图像中最小的单位就是单个像素,但是在旋转个缩放的过程中如果出现了小数,那么就对这个浮点坐标进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目标像素的像素值。取整的方式就是:取浮点坐标最邻近的左上角的整数点。 举个例子: 3*3的灰度...
HALCON 算子inspect_shape_model 和create_shape_model相关参数的关系是怎样的?
HALCON自带例程有个印刷检测的例程print_check,其中用到了两个算子: 1、inspect_shape_model (ImageReduced, ModelImages, ModelRegions,1,20) 2、create_shape_model (ImageReduced, 5, rad(-10), rad(20), 'auto', 'none', 'use_polarity', 20, 10, ShapeModelID) 有几个问题不明白,请高手帮忙指点一下。 1、inspect_shape_model 算子的用途是啥?金字塔层数和对比度两个参数,应该如何设定比较合理,或者,应该依据什么来设定? 2、在例程中,inspect_shape_model 金字塔层数和对比度的值分别为1和20,在后面的create_shape_model算子中,金字塔层数为5,并没有和inspect_shape_model 中的层数保持一致。既然参数值可以不一致,为何还要调用inspect_shape_model 算子? 3、inspect_shape_model 算子中,关于参数Contrast的定义是“Threshold or hysteresis thresholds for the contrast of the object in the image and optionally minimum size of the object parts.”,应该如何正确理解这个定义,特别是“optionally minimum size of the object parts”具体是什么意思。 4、算子create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID) 和find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score) 中 参数 AngleStart, AngleExtent对应关系是怎样的?如果要检测的图像的方向0°-360°都有可能,那么该如何设置这两个算子的 AngleStart, AngleExtent? 望高手帮忙指点一下。非常感谢!!! 以下是HALCON例程代码 ``` dev_update_off () read_image (Image, 'pen/pen-01') get_image_size (Image, Width, Height) dev_close_window () dev_open_window (0, 0, Width, Height, 'black', WindowHandle) set_display_font (WindowHandle, 16, 'mono', 'true', 'false') dev_set_color ('red') dev_display (Image) * Note: the shape model will be constructed from a ROI that is computed * automatically based on a simple image segmentation. threshold (Image, Region, 100, 255) fill_up (Region, RegionFillUp) difference (RegionFillUp, Region, RegionDifference) shape_trans (RegionDifference, RegionTrans, 'convex') dilation_circle (RegionTrans, RegionDilation, 8.5) reduce_domain (Image, RegionDilation, ImageReduced) inspect_shape_model (ImageReduced, ModelImages, ModelRegions, 1, 20) gen_contours_skeleton_xld (ModelRegions, Model, 1, 'filter') area_center (RegionDilation, Area, RowRef, ColumnRef) create_shape_model (ImageReduced, 5, rad(-10), rad(20), 'auto', 'none', 'use_polarity', 20, 10, ShapeModelID) create_variation_model (Width, Height, 'byte', 'standard', VariationModelID) for I := 1 to 15 by 1 read_image (Image, 'pen/pen-' + I$'02d') find_shape_model (Image, ShapeModelID, rad(-10), rad(20), 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score) if (|Score| == 1) vector_angle_to_rigid (Row, Column, Angle, RowRef, ColumnRef, 0, HomMat2D) affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', 'false') train_variation_model (ImageTrans, VariationModelID) dev_display (ImageTrans) dev_display (Model) endif endfor get_variation_model (MeanImage, VarImage, VariationModelID) prepare_variation_model (VariationModelID, 20, 3) * We can now free the training data to save some memory. clear_train_data_variation_model (VariationModelID) * Note: the checking of the print will be restricted to the region of the clip. * Sometimes the print is also in an incorrect position of the clip. This will lead * to erroneous regions at the top or bottom border of the clip and hence can * be detected easily. erosion_rectangle1 (RegionFillUp, RegionROI, 1, 15) dev_display (MeanImage) set_tposition (WindowHandle, 20, 20) dev_set_color ('green') write_string (WindowHandle, 'Reference image') disp_continue_message (WindowHandle, 'black', 'true') stop () dev_display (VarImage) set_tposition (WindowHandle, 20, 20) dev_set_color ('green') write_string (WindowHandle, 'Variation image') disp_continue_message (WindowHandle, 'black', 'true') stop () dev_set_draw ('margin') NumImages := 30 for I := 1 to 30 by 1 read_image (Image, 'pen/pen-' + I$'02d') find_shape_model (Image, ShapeModelID, rad(-10), rad(20), 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score) if (|Score| == 1) vector_angle_to_rigid (Row, Column, Angle, RowRef, ColumnRef, 0, HomMat2D) affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', 'false') reduce_domain (ImageTrans, RegionROI, ImageReduced) compare_variation_model (ImageReduced, RegionDiff, VariationModelID) connection (RegionDiff, ConnectedRegions) select_shape (ConnectedRegions, RegionsError, 'area', 'and', 20, 1000000) count_obj (RegionsError, NumError) dev_clear_window () dev_display (ImageTrans) dev_set_color ('red') dev_display (RegionsError) set_tposition (WindowHandle, 20, 20) if (NumError == 0) dev_set_color ('green') write_string (WindowHandle, 'Clip OK') else dev_set_color ('red') write_string (WindowHandle, 'Clip not OK') endif endif if (I < NumImages) disp_continue_message (WindowHandle, 'black', 'true') stop () endif endfor clear_shape_model (ShapeModelID) clear_variation_model (VariationModelID) ``` 望高手能够帮忙解惑,非常感谢!
Halcon--阈值分割总结
dev_clear_window () dev_close_window () read_image (Image, 'C:/Users/Public/Documents/MVTec/HALCON-18.11-Steady/examples/images/color/citrus_fruits_15.png') dev_open_window (0, 0, 512, 512, 'black',...
halcon应用范围-表面检测2一模糊壁画图像中的缺陷检测
*检测思路 先对图像进行傅里叶变换 在频域内用一个滤波器对图像进行卷积 再傅里叶逆变换 得到图像的背景色 *用分解三原色后的蓝像素图减去背景图 得到更明显的带噪点的图 *腐蚀带噪点的图,去掉小的区域 得到大的折痕图  再检测图像的线和宽度 *detect-mura-defects-blur.hdev *模糊图像中的壁面缺陷检测 * this example shows how to detect...
Halcon二值化示例
选择一个图像中一定范围的灰度值事物,并且展现出来void testThreshold() { HImage image("one.png"); HImage gray = image.Rgb1ToGray(); HRegion region = gray.Threshold(170, 255); Hlong width, height; gray.GetIma
Halcon直线检测算法——卡尺算法
分享自己撸的一个<em>halcon</em>检测直线的<em>算法</em>,该方法可控性强,稳定,准确
halcon学习 tuple之算术运算3
//计算数组的自然对数 void TupleLog() { HTuple tuple1; for (int i = 0; i < 10; i++) { tuple1[i] = i *10+2; } HTuple result = tuple1.TupleLog(); for (int i = 0; i < 10; i++) {
高斯模糊(Gaussian Blur)
高斯模糊实现原理 类似于均值滤波(用周围像素点的均值最为中心点的像素值),二维高斯函数滤波也是利用某点周围的数值进行高斯模型处理,再将处理的数值作为该点的像素值。 这里二维高斯模型为: 为了计算出周围高斯函数各个点的权重,设计一个9宫格: 以坐标值作为(x,y)的坐标值,计算每点的权重值如下(这里σ = 1.5),这样九个点的像素权值取如下: 为了计算加权平均,必须得使得9个点的和为1,即...
Halcon学习(二十四)总结(一)
1、Halcon的自我描述 Program Logic Ø Each program consists of a sequence of HALCON operators Ø The program can be structured into procedures Ø The sequence can be extended by using control operators like
浅论MLP、ELM、SVM的效果
这几天测试了MLP和ELM的效果,发现MLP明显优于ELM,就一直在思考其中的原因,昨天散步时突然想通了其中的道理。 MLP和ELM、SVM的本质,都是将问题映射到高维空间,然后在高维空间做回归或分类。 从原理上来说,分类或回归的效果,直接受到映射方式的影响,如果一个关键的模式,在高维空间上表现出明显的差异,分类效果就好,如果这个关键模式恰好没在高维空间上表现出来,效果就差。 从这个
Halcon视觉检测——使用分类器分类
分类器简介 机器学习在Helcon中的一个重要应用就是用于图像分类任务。Halcon中常用的分类器有GMM(高斯混合模型)、Neural Nets(神经网络)、SVM(支持向量机)等。一般应付常见的分类问题,这些就足够了。 使用方法 一般使用过程: 创建分类器(create_class_…) 获取各个类别的特征向量 将各个类别训练样本的特征向量添加到分类器中(add_sample_c...
5.6.2 低通滤波器(理想低通+巴特沃斯低通滤波器)
1.低通滤波器 低通滤波是将频域图像中的高频部分滤除而通过低频部分。图像的边缘和噪声对应于频域图像中的高频部分,而低通滤波的作用即是减弱这部分的能量,从而达到图像平滑去噪的目的。 2.理想低通滤波器 最简单的低通滤波器是理想低通滤波器,基本思想是给定一个频率阈值,将高于该阈值的所有部分设置为0,而低于该频率的部分保持不变。 理想是指该滤波器不能用电子元器件来实现,但是可以通过计算机来模拟。 ...
理解图像中的高频分量和低频分量
形象一点说:亮度或灰度变化激烈的地方对应高频成分,如边缘;变化不大的地方对于低频成分,如大片色块区 画个直方图,大块区域是低频,小块或离散的是高频    把图像看成二维函数,变化剧烈的地方就对应高频,反之低频。     举个通俗易懂的例子:         一幅图象,你戴上眼镜,盯紧了一个地方看到的是高频分量         摘掉眼镜,眯起眼睛,模模糊糊看到的就是低频分量。
频率域滤波基础之三(读数字图像处理学习halcon
低频对应于图像变化缓慢的灰度分量,前面我们通过衰减高频成分来平滑图像。高频则对应于图像中变化快速的灰度变化。这些通常是物体的边缘及噪声。以下我们将通过高通滤波来实现图像的锐化。高通滤波会衰减傅立叶变换中的低频分量而不扰乱高频信息。 理想高通滤波器  D0截止频率 <em>halcon</em>程序 read_image (Image, 'D:/<em>halcon</em> work/fft/有票.bmp') rgb1_
Halcon学习笔记(一)——图像处理的一般过程
1、图像采集主要是考虑光源、相机、镜头的选择,目的是使图像清晰可见。光源根据打光位置的不同分为背光和底光;根据可见性分为课件光源和不可见光源。2、图像预处理预处理主要是从两方面进行:提高对比度、去噪。提高对比度的算子:scale_image、emphasize、gray_range_rectangle(模板矩阵对应的最大值最小值的差替代中心点像素值)、equ_histo_image等。去噪的算子:...
Halcon 增强图像对比度
Halcon中增强图像的对比度也是预处理中的一环,主要有如下方式: 灰度变换(scale_image) 原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。 作用:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。 emphasize:增强图像的高频区域(边缘和拐角),使图像看起来更清晰。 直方图均衡化(equ_histo_image) 灰度...
halcon第十九讲:基于高斯混合模型的水果分类
高斯混合模型是将多个服从高斯分布的模型进行线性组合,几乎能拟合成任何一条曲线。比如在生活中男生身高普遍在175左右,女生身高普遍在165左右,并且都服从高斯分布,就可通过中间交叉点进行分类。  上面只用到一种特征,下面的例子为<em>halcon</em>例程—》方法—》特征提取—》classify cirtrus_fruits.hdev ,这里的水果分类用到的是圆度和面积两种特征,其模型将是二维高斯分布曲面...
Halcon求均值算子
算子原型:intensity(Regions, Image : : : Mean, Deviation)mean:是平均值Deviation:标准差read_image (Image, '图片.jpg') decompose3 (Image, Image1, Image2, Image3) dev_display (Image2) gen_rectangle1 (ROI_0, 266.5, 436...
Halcon学习中的一些领悟
看图片是,不要看图片表面,脱光了看,要看到他们内在像素关系 视觉的需求: 二维:1识别定位 2 OCR,一二维码识别 3 测量 4 缺陷检测 5运动控制–手眼标定–手眼抓取 三维:1双目标定,2 点云数据重建 在<em>halcon</em>中进行图像处理,在vc或C#中进行程序架构搭建和UI界面设计 MFC的架构 1创建窗口类,2注册窗口类3创建窗口4 更新显示窗口5消息循环6退出程序、 软件编程有三层: 第一层...
halcon line_gauss 线状物提取 (by shany shang)
主程序源代码: dev_close_window () *载入yi'fu'tu'xiang read_image (Angio, 'angio-part') get_image_size (Angio, Width, Height) dev_open_window (0, 0, 3 * Width / 2, 3 * Height / 2, 'black', WindowID) dev_disp...
如何得到像素坐标对应的实际坐标
在桌面设置了红外激光发射器和摄像头,手指放在桌面其红外反射光进入摄像头,我在摄像头的图片上找到每个手指光斑中心的像素坐标,如图示:,现在我想根据手指的像素坐标得到实际的桌面坐标,有资料说可以用三角测距
HALCON已知平面两点图像坐标和对应机械坐标求仿射变换矩阵
相机垂直于拍摄平面安装,已知平面上两点的图像坐标和对应的机械坐标,求仿射变换矩阵,及其变换参数 * 图像坐标 X Vx := [1348.087, 207.141] * 图像坐标 Y Vy := [575.436, 571.043] * 机械坐标 X Wx := [-45.194, 54.736] * 机械坐标 Y Wy := [0, 0] * 求出图像坐标到
【Halcon】Halcon算子总集合
HALCON算子函數——Chapter 1 : Classification  Chapter_1_:Classification 1.1  Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一個訓練樣本添加到一個高斯混合模型的訓練數據上。 2.classify_class_gmm 功能:通過一個高斯混合模型來計算一個特征向量的類。
协方差矩阵剖析
今天看论文的时候又看到了协方差矩阵这个破东西,以前看模式分类的时候就特困扰,没想到现在还是搞不清楚,索性开始查协方差矩阵的资料,恶补之后决定马上记录下来,嘿嘿~本文我将用自认为循序渐进的方式谈谈协方差矩阵。统计学的基本概念学过概...
去噪算法升个级,图片瞬间变清晰 | 论文
铜灵 编译整理量子位 出品 | 公众号 QbitAI图像上噪点太多了,一大片都是点点的雪花连女神的脸都看不清了,传统去噪方法效果太差,可否有破解方法?最近一篇研究表示,无...
halcon中的分水岭算法讲解以及作用和实例
分水岭,顾名思义由地貌中的视觉形态演变而来。我们用一种场景来说明,想象一个干涩得裂开的农田赶上下雨,最终淹没到只看得见稻苗。它的整个过程先是灌满地势低的土地裂缝然后慢慢淹没整块土地只剩看得到稻苗。 将上面的思想引入到图像区域的分割上,我们就很容易实现一种以“侵泡”式的图像分割,其基本思想是把图像看作测地学上的拓扑地貌,图像中的每一点像素的灰度值表示该点的海拔高度,高灰度值代表山脉,低灰度值代表盆...
Halcon之计算距离算子
*读取一张图像 read_image(Image,'Circle.jpg') *画生成区域 draw_region(Region,3600) *区域-&gt;图像 reduce_domain(Image,Region,ImageReduced) *阈值分割 threshold(ImageReduced,Region1,0,35) *区域连通-&gt;将区域分开 c...
深度学习in Halcon流程
1 预处理 1.1 读取预训练网络 用read_dl_classifier方法读取一个预训练网络,其中Halcon提供的预训练网络有: &quot;pretrained_dl_classifier_compact.hdl&quot;和&quot;pretrained_dl_classifier_enhanced.hdl&quot;。 1.2 读取数据集 指定数据集路径,用read_dl_classifier_data_set方...
频率域滤波基础之一(读数字图像处理学习halcon
如果不了解在图像滤波中如何应用傅里叶变换和频率域的基本知识,要彻底理解这一领域也是不太可能。
频率域滤波基础之二(读数字图像处理学习halcon
二维离散傅立叶(DFT)变化及其反傅立叶变换(IDFT) 傅立叶变换通用形式 对通用形式来讲,c=1,s=-1即为傅立叶变化(图像空间域转频域);c=1/MN,s=1即为逆变换(频域转空间域) <em>halcon</em>算子fft_generic(Image : ImageFFT : Direction, Exponent, Norm, Mode, ResultType : ) 通过参数设
网格缺陷检测(MLP(多层神经网络))
      神经网络直接决定类与类之间的separating hyperplanes(分离超平面),而超平层分隔开两个类的特征向量,落在在层的一边的特征向量属于class 1,落在另一边则属于class 2。基于单层神经网络的分类器需要 linearly separable classes(线性可分的类),在许多应用中不够高效。基于多层神经网络的分类器则无此限制,只要隐藏层包含足够多的处理单元即...
HALCON算子函数——Chapter 5 : Filter
Chapter_5:Filter 5.1  Arithmetic 1. abs_image   功能:计算一个图像的绝对值(模数)。 2. add_image   功能:使两个图像相加。 3. div_image   功能:使两个图像相除。 4. invert_image   功能:使一个图像反像。 5. max_image   功能:按像素计算两个图像的最大值。 6. m
17-Halcon机器视觉实例入门:图像滤波-图像平滑
图像滤波-图像平滑 在Halcon中,图像平滑通过smooth_image算子来实现,其原型如下: smooth_image(Image : ImageSmooth : Filter, Alpha : ) Image:输入图像。 ImageSmooth:平滑后的图像。 Filter:使用平滑滤波方法,有 ‘deriche1’, ‘deriche2’, ‘shen’ and 'gauss...
halcon学习笔记——(12)图像分割
转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/01/08/2851925.html
15-Halcon机器视觉实例入门:数学运算-三角函数运算
图像数学运算-三角函数运算 1 正弦计算与反正弦计算 sin_image计算图像的正弦值,如果图像类型是direction或cylic类型,则sin_image将图像灰度值转换为角度值;如果图像类型是real类型,则sin_image则认为图像灰度值为角度值。sin_image的原型如下: sin_image(Image : SinImage : : ) 其中,参数Image为输入图像,Sin...
halcon 高斯模糊
用<em>halcon</em>给图片添加高斯模糊,可运行已调试,可作为学习参考
HALCON学习-读取显示图像、矩形区域配置
read_image(img,'d:/xx.jpg') get_image_pointer1(img,Pointer,Type,Width,Height) dev_open_window(0,0,Width,Height,'black',WindowHandle) dev_display(img) draw_rectangle1(WindowHandle,Row1,Column1,Row2
第十课:图像增强(emphasize illuminate, scale_image_max)极坐标转换(polar_trans_image)
1、图像增强:增强图像的对比度 为了提高采集图像的质量,光源、镜头、摄像机、图像采集卡都非常重要,但有时采用最佳的硬件设置,图像效果还是不够好,这时需要使用图像增强技术 1) emphasize 可以对图像中的边缘起到增强作用(亮的位置更亮,暗的位置更暗) 2)illuminate(Image : ImageIlluminate : MaskWidth...
halcon7:一些频域处理函数
<em>halcon</em>7:一些频域处理函数 (1) convol_fft 功能:用在频域内的滤波器使一个图像卷积。 (2) convol_gabor 功能:用在频域内的一个Gabor滤波器使一个图像卷积。 (3) correlation_fft 功能:计算在频域内的两个图像的相互关系。 (4) energy_gabor ...
对图像进行高斯模糊处理(高斯滤波)
程序能够针对输入的图像进行高斯模糊处理,对于机器视觉技术的相关学科有比较重要的用途
高斯平滑 高斯模糊 高斯濾波器 ( Gaussian Smoothing, Gaussian Blur, Gaussian Filter ) C++ 實現
http://blog.csdn.net/cay22/article/details/5546636  高斯平滑 高斯模糊 高斯濾波器 ( Gaussian Smoothing, Gaussian Blur, Gaussian Filter ) C++ 實現   在之前提到過了均值濾波器, 就是說某像素的顏色, 由以其為中心的九宮格的像素平均值來決定. 在這個基礎上又發展成了帶權的平均濾
Halcon阈值化算子dual_threshold和var_threshold的理解
Halcon中阈值二值化的算子众多,通常用得最多的有threshold、binary_threshold、dyn_threshold等。 threshold是最简单的阈值分割算子,理解最为简单;binary_threshold是自动阈值算子,它可以自动选出暗(dark)的区域,或者自动选出亮(light)的区域,理解起来也没有难度。 动态阈值算子dyn_threshold理解起来稍...
二值化图像中,如何记录白色区域轮廓
如题目 我数字图像学的不是很好,目前遇到一个问题 我把图像二值化后,图片中,有个白色封闭区域,我想把这个区域的x,y坐标,保存在两个数组中 我是这么做的,但有问题,大家看看 或者您有好方法,请赐教 我
Halcon 18 深度学习配置与手写字符(MNIST)测试
具体的配置 参考了  dearpeer 的 <em>halcon</em> 17 深度学习环境搭建, 链接地址: http://www.i<em>halcon</em>.com/read-8749.html1 系统配置: win10 x64   Halcon 18  images for deep-learning  CUDA9 cudnnCUDA 和 cuDNN 的下载地址是: 链接:https://pan.baidu.com/s...
halcon ,scale_image()函数用法技巧
scale_image(Image : ImageScaled : Mult, Add : )缩放图像的灰度值。最佳Mult和Add值的选取由下: 其中:GMin为图像的最大灰度值,GMax为图像的最小灰度值。 可配合算子min_max_gray(Regions, Image : : Percent : Min, Max, Range)得到。 min_max_gray(Regions, ...
Halcon学习笔记(一)——图像阈值化处理
今天开始,积累学习Halcon
Halcon之混合高斯模型
首先,要在这儿先道个歉。真的很对不起,因为去年是研究生第一年,一大堆的课程学习,考试压力,每天也没什么时间和心思搞科研这块,所以中间Halcon的学习整整断了一年,暑假回来之后,发现有一些人给我留下了一些回复,自己心里感觉特别过意不去,如果还有人对Halcon学习有兴趣的话,可以加251543742这个群,我刚建的,这样方便大家学习交流。
求助,halcon 深度学习目标检测例子中pill_bag.json 文件是如何生成的
1、<em>halcon</em>版本18.11 2、深度学习创建训练集的例子中需要用到pill_bag.json(安装生成) 3、如果我要写一个自己其他类别的json,应该是什么格式呢或者有没有快速工具
转载:高斯模糊的算法
From:http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html 通常,图像处理软件会提供"模糊"(blur)滤镜,使图片产生模糊的效果。 "模糊"的<em>算法</em>有很多种,其中有一种叫做"高斯模糊"(Gaussian Blur)。它将正态分布(又名"高斯分布")用于图像处理。 本文介绍"高斯模糊"的<em>算法</em>,你会看到这是一个非常简单易...
Contour Processing
Coutours 属于XLD结构 a) 图 边缘覆盖在原始图像上 b)缩放 a)中的 矩形区域,凸显控制点 c)轮廓可以分割成线。圆。椭圆等,可以得出它们的 角度 中心 半径等 Basic Concept create XLD contours 最常用的方法是 用Extract Edges Or Lines方法,结果将转化为XLD ...
车牌图像识别
1.车牌预处理 车牌预处理过程的好坏直接影响到车牌图像进行后期处理过程,比如车牌字符分割等。车牌预处理也是尽可能的消除噪声,减少后期处理带来的不必要的麻烦。 输入的车牌是24Bit的BMP真彩色图像,车牌照有黄底黑字,蓝底白字等颜色,为了将这些车牌图像一并处理,就要先将车牌进行灰度化处理,然后进行二值化(黑白)处理。 图4-1 原始图像 将采集的车牌图像进行预处理,为了方便起见
去雾算法 halcon 实现
********************************** *何凯明博士去雾<em>算法</em>代码实现 *论文:> *编写时间:2016-04-11 *作者:datiansong ********************************** dev_update_off () dev_close_window () read_image (Image, '雾图2') get_
【Halcon】算子介绍
学习—》实践—》复盘 如此不断循环往复,才能有所突破! ———Y忍冬草  记录下自己使用Halcon中遇到的一些简单但实用的算子,以备查看。 ...
halcon形状模版匹配
用<em>halcon</em>形状模版匹配,红色矩形框是搜索范围ROI 矩形框中间的是我训练的模版,按理说应该只会匹配到ROI中中间的那个 为什么会搜到搜索区域之外的部分,而且匹配分数还很高,这个设置set_sys
Halcon Classification(三)deep_learning classifier
<em>halcon</em> 例程deep learning水果分类器。 * This example shows how to train a deep learning fruit classifier, along with * a short overview of the necessary steps.训练分类器 * Initialization. dev_update_off () de...
halcon学习之产品检测
转自:http://qing.blog.sina.com.cn/2316220871/8a0eb9c733002pnh.html
halcon自动全局阈值与动态阈值分割方法
自动全局阈值分割方法: 1
二值化图像保存问题
原图是: 二值化代码 /************************************************************************ 二值化处理 image_in:
Halcon 学习笔记 (一)
图像预处理 消除噪声 mean_image/binomial_filter 抑制小斑点或细线 median_image 平滑图像 smooth_image 平滑图像的同时保存边缘 anisotropic_diffusion 遍历文件夹与文件选择 1)遍历文件夹: list_files( : : D
如何将找到凸包后的图像二值化
如图所示,我已经找到图片的凸包区域,但是如何显示出右边的二值化图呢,要怎么做?
halcon学习2--boundary算子使用
boundary(Region : RegionBorder : BoundaryType : ) 作用:获取一个边界区域 参数:Region---输入区域 RegionBorder---输出边界(结果) BoundaryType---边界类型         'inner','inner_filled','outer' 如果是'inner'是内层边界,'inner_filled'
Halcon学习 ROI(感兴趣区域)
这是我第一篇博客,从本科的机械专业,主要学习工艺设计方面的,上了研究生,导师是研究机器视觉方向的,所以涉及到图像处理方面,自己开始学了大概半年多点时间,断断续续的,把自己学习的总结一下,大家可以交流交流。          ROI (Region of Interest),感兴趣区域。顾名思义,就是你主要想处理的区域。Halcon中处理的对象分为三类,分别是图像(image),区域(region
halcon基本示例之灰度直方图
void test() { HImage image("2.jpg"); HImage gray = image.Rgb1ToGray();//转化为灰度图 Hlong width, height; image.GetImageSize(&width, &height); HRegion region; region.GenRectangle1(0,
halcon基本算子2
GrayHisto:计算指定区域的灰度值分布 GenRegionHisto:根据直方图生成生成灰度直方图区域 HistoToThresh:根据灰度直方图确定阈值ScaleImage:对图像灰度值进行变换 ScaleImageMax:拉伸图像灰度值,增加图像对比度 EquHistoImage:直方图均衡化AddImage:图像加法 SubImage:图像减法 DivImage:图像除法 MultIma
halcon学习笔记(2)——clip例子学习(直方块图和特征直方块图)
例子在HDevelop自带例子里面,叫clip;这里讲我实验的内容,机械视觉目的:检测照片中图像,标记中心位置及其方向,代码如下: dev_update_window ('off') read_image (Image, 'E:/test2.jpg') get_image_size (Image, Width, Height) dev_close_window () dev_open_win
Halcon 学习之图像分割之彩色分割
本人声明:在本博客以及后续的博客中,全部代码都以C++形式进行实现,使用的数据类型为 HImage,而不是单纯的使用算子或Hobject 数据类型;不对之处,请大家指正;也请大牛不吝赐教; Halcon 中对彩色图像进行分割的算子为: decompose3(MultiChannelImge: Image1 : Image2: Image3::) 该算子的作用是将图像分为三个单通道图像; M
Halcon学习笔记(一) 基础知识
最近刚接触一个缺陷检测的项目,自己也是个小白,在网上找资料学习,写博客主要是作为笔记,也方便有需要的人可以阅读。如果有类似经历的可以联系我一起学习,班门弄斧希望大家多多包容。
不均匀光照的二值化方法(去阴影、去曝光)
基于对比背景图像,调整对比度 以下是余下全文测试图像是白底黑字 一、<em>算法</em>思想 1.计算整幅图像的背景图像 2.图像的标准化 3.对比原图像和背景图像,增强和对比度。 二、<em>算法</em>详细步骤 1.计算整幅图像的背景图像 (1)设计w*w的区域(w自定义大小) (2)将(1)的区域去遍历整幅图像,由于是白底黑字的图片,将区域中最高的五个像素点的平均值作为背景值。 原图 背景图像
Halcon案例之BLOB分析
图像处理(image processing)用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。Blob分析(Blob Analysis)在计算机视觉中的Blob是指图像中的具有相似...
图像分割
一 图像分割之阈值分割:   请参见<em>halcon</em>例程:gray_histo.hdev   此例程中主要用到两个算了:   1.gray_histo(Regions,Image:::AbsoluteHisto,RelativeHisto)   作用:获得图像的某一指定区域内的灰度分布,将数据写入到参数AbsoluteHisto和RelativeHisto   其中AbsoluteHis...
Halcon函数总结(二)
Halcon函数总结: auto_threshold(Image : Regions : Sigma : ) //自动阈值,<em>halcon</em>根据图像的直方图来判定阈值 例程代码参考:auto_threshold.hdev(该例程暂时还没有看明白)   ===================================================================
Halcon学习笔记之缺陷检测(二)
例程:detect_indent_fft.hdev 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波); 然后,将原图和构造的滤波器进行快速傅里叶变换; 最后,利用形态学算子将缺陷表示在滤波后的图片上(在缺陷上画圈)。 注:代码中绿色部分为个人理解和注释,其余为...
图像去模糊(逆滤波)
引言图像模糊是一种拍摄常见的现象,我曾在图像去模糊(维纳滤波) 介绍过。
Halcon学习笔记_04:划痕、油污、瑕疵
划痕、油污、瑕疵,常用的方法有傅里叶变换和Blob分析。1.表面划痕invert_image(Image,ImageInvert1) mult_image(ImageInvert1, ImageInvert1, ImageResult,0.01, 0) gen_sin_bandpass (ImageBandpass, 0.6, 'none', 'rft', Width, Height) rft_g
Halcon清晰度检测实例(转)
Halcon清晰度检测实例(转)   2013-10-08 14:11:07|  分类: <em>halcon</em>|举报|字号 订阅        下载LOFTER我的照片书  | 此实例通过使用Halcon实现5种清晰度<em>算法</em>函数: 1. 方差<em>算法</em>函数; 2. 拉普拉斯能
图像处理之灰度模糊图像与彩色清晰图像的变换
本文介绍一种在灰度图像复原成彩色RGB图像方面的代表性工作:**《全局和局部图像的联合端到端学习图像自动着色并且同时进行分类》** 另外基于图像处理的方法,如图像增强和图像复原,以及曾经很火的超分辨率<em>算法</em>。都是在不增加额外信息的前提下的实现方式。
关于图像的高斯模糊
这里有个文章,说得太容易理解了。 看这里,看这里! 这篇文章里给我印象最深的地方是,为什么要使用高斯函数来做平滑。 就是这个图,横轴表示与中心点的距离,纵轴代表权重。 额、怎么以前没人这么跟我说,早这么说,早明白了。MD 横轴的分辨率随便调,还是连续函数,真是爽啊,爽啊~ 还有,这博客值得收藏,好博客,赞一个!          我这大半夜抽的是什么风、
如何利用Halcon中的快速傅里叶变换(FFT)
原网址:http://blog.csdn.net/feiying008/article/details/44616681 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表 面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波); 然后,将原图和构造的滤波器进行快速傅里叶变换; 最后,利用形态学算子将
高斯模糊的算法
高斯模糊的<em>算法</em>
halcon图像滤波(一)halcon实现sobel处理
首先在网上搜索了什么是sobel:一、先是理解一下什么是卷积 最容易理解的对卷积(convolution)的解释 文字来解释就是:卷积的其中一方参与者是冲击响应,它所描述的的曲线方向与时间流逝一致。而卷积的输出等于以前的信号效果累加,这个累加必然从当前时间点逆时间流逝方向进行的。很显然,离当前时间越近,那个输入残留在系统中的回响就越大。转自知乎 再说说自己对卷积公式的理解,也是每次自己容易困惑的地...
halcon图像预处理之图像锐化
图像锐化是为了让图像的边界、轮廓线以及图像的细节变得清晰。可以用高通滤波器和空间域微分法使图像变得边界变得清晰。但是要注意的是对图像锐化图像要有较高的信噪比,否则锐化后图像信噪比更低。可以先对图像进行平滑后再锐化。 1. 空间域锐化(微分法) frei_amp(Image : ImageEdgeAmp : : ) 使用Frei-Chen方法检测边缘(振幅)。 kirsch_amp(Image :...
halcon算法解析
<em>halcon</em><em>算法</em>解析,shapmodel<em>算法</em>解析,可以精确定位
halcon中variation_model_single实例注释.
*  * This example shows how to employ the new extensions of HALCON's variation model operators * to perform customary print quality tests. * In this example the variation model is built upon a sing
Halcon:模板匹配后,获取顶点坐标
![图片说明](https://img-ask.csdn.net/upload/201811/30/1543574509_785273.jpg) 顶点就是那个红圈标出的,求源码或者算子,讲解,新手没去培训,就看视频了,但还着急用。
Halcon之Variation Model
Variation Model是用一幅或多幅测试图像同样板图像做比较,找出差异,常用来做外观缺陷检测。 创建及使用步骤: Ø1、图像准备 Ø2、创建Variation Model Ø3、图像摆正 Ø4、训练Variation Model Ø5、准备Variation Model Ø6、比较Variation Model create_variation_model (Width, ...
halcon基本语法和常用算法
count_obj select_obj 工具栏里有几个按钮在图像分析中比较方便 第一个是灰度直方图,用于将灰度图像变成二值图像 里面有个插入代码,点击一下会插入代码比如threshold (Image, Regions, 0, 93),即阈值处理函数。 当然自动阈值函数也可以使用bin_threshold (Image, Regions) 第二个是特...
halcon 窗体 交互 ROI 自定义 显示 控件
基于<em>halcon</em>自带例程开发。开发环境:VS2017、<em>halcon</em>12、net4.0 理论适用<em>halcon</em>12以上版本,以下需自行测试 1、显示文字,区域,消息,ROI,XLD 2、输出列表 3、RO
halcon算法适用于初学者
该文件适用于初学者,供大家一起学习交流。
学习Halcon半年之感想
从2014年1月开始接触<em>halcon</em>,到今天8月份,已经学习 <em>halcon</em>半年多了,把th
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及<em>算法</em>学习的重要性,所以就有一些读者经常问我,数据结构与<em>算法</em>应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的<em>算法</em>知识点,以及我觉得值得学习的<em>算法</em>。这些<em>算法</em>与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些<em>算法</em>以及数据结构,当然,我也会整理一些看过...
数字验证码下载
可能其它地方有了,但是这种感觉也挺有用,是易语言的,基于形状态的识别 相关下载链接:[url=//download.csdn.net/download/a335718876/4890321?utm_source=bbsseo]//download.csdn.net/download/a335718876/4890321?utm_source=bbsseo[/url]
sqlyog mysql图形用户界面下载
mysql图形用户界面,非常好用的一款软件,方便对库和表的增,删,改,查. 相关下载链接:[url=//download.csdn.net/download/u010548376/7302761?utm_source=bbsseo]//download.csdn.net/download/u010548376/7302761?utm_source=bbsseo[/url]
Spring专业开发指南(中文)下载
Pro Spring 的中文版 赶快来下载吧! 好书. 相关下载链接:[url=//download.csdn.net/download/cbwcwfhv/1548876?utm_source=bbsseo]//download.csdn.net/download/cbwcwfhv/1548876?utm_source=bbsseo[/url]
我们是很有底线的