[置顶]python知识导航贴,持续更新

[置顶]C# 语言高级特性知识导航贴,持续更新

[置顶]netMarketing类库: 类库说明

[置顶]本站视觉相关教程整理贴子,持续更新

[置顶]C++相关导航贴,持续更新

[置顶]本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

[置顶]2020年勇哥的机器视觉实验项目清单(大纲)

[置顶]本站连载贴子系列,持续更新中……

[置顶]勇哥的免费视频教程清单

[置顶]勇哥在B站发布的视频清单

[置顶]运动控制专题,持续更新

数字图像处理:噪声模型(椒盐噪声、随机噪声、高斯噪声)和滤波方法

图像噪声是图像在获取或传输过程中受到随机信号干扰,妨碍人们对图像理解及分析的信号。很多时候将图像噪声看作多维随机过程,因而描述噪声的方法完全可以借用随机过程的描述,即使用其概率分布函数和概率密度分布函数。图像噪声的产生来自图像获取中的环境条件和传感元器件自身的质量,图像在传输过程中产生图像噪声的主要因素是所用的传输信道受到噪声污染。一、噪声类型1、椒盐噪声(盐=白色,椒=黑色)椒盐噪声是数字图像中...

halcon视觉缺陷检测系列(2)频域和空间域转换的方法详解

理论基础一、频率特征是图像的灰度变化特征,低频特征是灰度变化不明显,例如图像整体轮廓,高频特征是图像灰度变化剧烈,如图像边缘和噪声。一个重要的经验结论:低频代表图像整体轮廓,高频代表了图像噪声,中频代表图像边缘、纹理等细节。什么时候使用傅里叶变换进行频域分析?具有一定纹理特征的图像,纹理可以理解为条纹,如布匹、木板、纸张等材质容易出现。 需要提取对比度低或者信噪比低的特征。 图像尺寸较大或者需要与...

halcon视觉缺陷检测系列(1)常用的6种方法

一、缺陷检测综述缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证。首先常见缺陷:凹凸、污点瑕疵、划痕、裂缝、探伤等。常用的手法有六大金刚(在halcon中的ocv和印刷检测是针对印刷行业的检测,有对应算子封装):1.blob+特征(例如官方示例surface_scratch.hdev)2.blob+差分+特征3.光度立体4.特征训练5.测量拟合6.频域+空间结合 二、频域+空间结合...

Halcon图像分割的算法思想和边缘检测函数汇总

一、图像分割思想图像分割的主要算法:1.基于阈值的分割方法2.基于边缘的分割方法3.基于区域的分割方法4.基于聚类分析的图像分割方法5.基于小波变换的分割方法6.基于数学形态学的分割方法7.基于人工神经网络的分割方法基于阈值的分割方法阈值分割方法作为一种常见的区域并行技术,就是用一个或几个阈值将图像的灰度直方图分成几个类,认为图像中灰度值在同一类中的像素属于同一物体。由于是直接利用图像的灰度特性,...

Halcon边缘检测和线条检测(3),文章含BLOB检测常用方法和shape_trans外接算子的说明

一、边缘提取1、设置ROI兴趣区域2、快速二值化,并连接相邻区域。这样做的目的是进一步减少目标区域,通过二值化将目标区域大概轮廓提取出来3、提取最接近目标区域的轮廓常用函数有boundary,gen_contour_region_xldboundary(获取一个区域的边界)Region (input_object) Regions for which the boundary is to...

Halcon边缘检测和线条检测(2)-包含了形态学闭运算

*如果是畸变图,需要先校正 read_image (Image, 'D:/1.bmp') get_image_size (Image, Width, Height) *彩色转灰度图 count_channels (Image, Channels) if (Channels == 3 or Channels == 4) rgb1_to_gray (Image...

halcon模板匹配实践(1)算子参数说明与算子简介

一、先来看理论:摘自论文《基于HDevelop的形状匹配算法参数的优化研究》1. Shape-Based matching的基本流程HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。...

Halcon数据类型转换系列(2)遍历xld;Region、XLD、Polygon之间的互相转换

一、Halcon遍历xld,halcon中统计数目归纳下:图形元组变量计算数目 是使用 count_obj算子统计控制元组变量计算数目 是通过|元组名称|进行的(对控制类型数组用||统计)count_obj(DeformedContours, NumberContours) area_center_xld (DeformedContours, Area1, Row1, Column1, Poin...

Halcon XLD: eXtended Line Descriptions 亚像素轮廓

XLD: eXtended Line Descriptions 亚像素轮廓1、何谓亚像素?面阵摄像机的成像面以像素为最小单位。例如某CMOS摄像芯片,其像素间距为5.2微米。摄像机拍摄时,将物理世界中连续的图像进行了离散化处理。到成像面上每一个像素点只代表其附近的颜色。至于“附近”到什么程度?就很困难解释。两个像素之间有5.2微米的距离,在宏观上可以看作是连在一起的。但是在微观上,它们之间还有无限...

Halcon找圆系列(1)如何检测圆形

一、HALCON 12.0例程里有一个类似的,Ctrl+E打开例程,搜关键字“circle”或者"ball"就行。请重点关注下measure_circles.hdev,circles.hdev,union_cocircular_contours_xld.hdev,ball.hdev这几个例程。大概过程差不多是:找到圆形区域--亚像素边缘--结果曲线分段--筛选出圆形--拟合 二...

Halcon拟合系列(2)直线/圆/椭圆/矩形拟合算子

fit_line_contour_xld.hdevfit_line_contour_xld(Contours : : Algorithm, MaxNumPoints, ClippingEndPoints, Iterations, ClippingFactor : RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)参数说明:1 Contours 输入的...

提取线条的lines_color、lines_facet、 lines_gauss算子

Halcon中线条提取的算子主要有:lines_color(Image : Lines : Sigma, Low, High, ExtractWidth, CompleteJunctions : )lines_facet(Image : Lines : MaskSize, Low, High, LightDark : )lines_gauss(Image : Lines : Sigma, Low,...

Halcon边缘检测和线条检测(1),文章含自适应/动态二值化等算子

先看代码实践dev_update_off () dev_close_window () *读图 read_image (Image, 'D:/1.bmp') get_image_size (Image, Width, Height) *测试提取边缘 edges_image(Image,Amp,Dir,'lanser2',0.5,'no...

halcon中如何判断一个点是否在多边形内部?

如何判断一个点是否在多边形内部?(1)面积和判别法:判断目标点与多边形的每条边组成的三角形面积和是否等于该多边形,相等则在多边形内部。--采纳(2)夹角和判别法:判断目标点与所有边的夹角和是否为360度,为360度则在多边形内部。(3)引射线法:从目标点出发引一条射线,看这条射线和多边形所有边的交点数目。如果有奇数个交点,则说明在内部,如果有偶数个交点,则说明在外部。(4)转角法:按照多边形顶点逆...

halcon的纹理分析texture_laws

在谈纹理分析之前,先谈谈blog分析。在halcon中,blog分析是最基础的图像处理方法。计算机视觉中的Blob是指图像中的一块连通区域,Blob分析就是对前景/背景分离后的二值图像,进行连通域提取和标记。标记完成的每一个Blob都代表一个前景目标,然后就可以计算Blob的一些相关特征。其优点在于通过Blob提取,可以获得相关区域的信息,但是速度较慢,分析难度大。Blob分析就是对这一块连通区域...

halcon极坐标变换切割齿轮

勇哥的一个案子里需求如下:分割出齿轮的小齿,小齿要排列规则,图像大小固定由于齿轮数量有40多个,因此分割要求速度快分割后的图片形成磁盘文件 (图1 分割后的图片样例)(图2 要分割的齿轮和极坐标转换后的效果) 这个需求如果不考虑速度的话,是很简单的。最简单的是转动图片固定角度,然后用一个矩形ROI去切割固定位置的小齿。但是这个办法由于耗时太长,能实现功能,却达不到速度要求。还有一个办法是...

粘合度高的物体识别

首先看看要使用的图像(这是闲着无聊在halcon网上找的一张实际生产中的图):从图像中看,颗粒状物体都有不同程度的粘连在一起,这给我们在处理上带来了一定的麻烦。首先想,对于这样的图,人是怎么识别的?抽象出来就是:先记住颗粒的形状,再去里面找。因此很明显想到的是图像匹配识别,不过粘连度高的就不好使用特征模板匹配了,因为粘连的物体本身其特征就模糊了很多。这里建议使用ncc模板匹配,至于ncc与shap...

halcon的Region旋转(区域旋转)

关键算子: orientation_region vector_angle_to_rigid affine_trans_region 测试图片:halcon代码:*此例子将图中没有偏移的形状参照旋转的形状进行旋转 read_image (Image, 'D:/Halcon-WorkSpaces/Test/Image/test14...

从去除毛刺的策略看开运算opening_circle和闭运算closing_circle的异同

例一:毛刺在往外凸的面上策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。 read_image (Tu, 'C:/Users/xiahui/Desktop/tu.jpg') binary_threshold (Tu, Region, 'max_separability', 'dark',...

玻璃瓶口的缺陷检测

inspect_bottle_mouth.hdev巧妙运用了极坐标变换法,细节很精细,值得学习* tuning parameters SmoothX := 501 ThresholdOffset := 25 MinDefectSize := 50 * * initialization PolarResolution := 640 RingSize := 70 get_system...

halcon知识点杂七杂八 2020/10(一)

(一) 判断对象为空对于region是否为空,用下面的算子。IsEqual1是个inter型,如果为空则为1,否则为0gen_empty_region(EmptyRegion1) test_equal_region(EmptyRegion1,CheckARegion,IsEqual1) if(IsEqual1==1) return() endif判断hobject为空则用算子tes...

halcon几个小知识点:通过点拟合椭圆;通过两个xld拟合椭圆

原图:(图1)想求出它的黑色边界,用来判断NG的部分。如下图所示,蓝色线是勇哥想求的边界。红色箭头所指的是缺陷,它有两部分。颜色较浅的灰色带和颜色深的黑色带,它们是两种类型的NG特征,其判断阈值是不同的。(图2)勇哥想到的几个方法:(一) 通过边界xld拟合椭圆设想是通过图3的两根xld,拟合出图4的椭圆。(图3)(图4)dev_close_window() read_image (Pic2...

在C#代码中设置海康相机设置增益Gain出错的问题

这个问题的现象是下面这句话报错,说是参数有问题:HOperatorSet.SetFramegrabberParam(AcqHandle, "Gain", 2.0);而在halcon中,连接相机后查阅参数,其中增益参数就叫Gain,这个是绝对没有写错的。而这句话的设置时机放在了取得相机设备句柄之后。 HOperatorSet.OpenFramegrabber("HMV...

halcon和C#混编的时候几段要注意的代码202009

(一)注意下面的img不能放在线程外面写。而是要放在lamada写法的线程里面。 public string ccdTopWork() { HObject img = new HObject(); img.Dispose(); var time = stringHelper.GetHHmm...

海康工业相机SDK Halcon接口应用类

海康工业相机SDK Halcon接口是比较好用, 它使得我们可以利用halcon的语法利用SDK的功能.之前勇哥写了一篇用halcon代码演示使用方法的贴子. http://www.skcircle.com/?id=1427 现在写一个C#的应用类, 方便自己也方便了大家.勇哥写了个应用类, 如下:using HalconDotNet; using MvCamCtrl.NET; using...

HWindow.WriteString的显示问题

现象是下面代码在halcon窗口上显示字符串,遇到非汉字字符则显示不出来。下图中符号"[", "]", 还有数字都无法显示。代码如下: Window.SetColor("red"); Window.SetTposition(30, 30); Window.WriteString(string.Format("[侧面齿上碰...

Halcon算子学习:create_pose

create_pose创建3D位姿( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose)输入:TransX沿x轴平移(以[m]为单位)。默认值:0.1建议值:-1.0,-0.75,-0.5,-0.25,-0.2,-0.1,-0.5,-0.25...

为啥彩色相机拍出来的图片, 保存看到是彩色的,但是在halcon窗口内显示却是黑白的?

相机是彩色的, 用下面的代码保存为本地图片, 打开发现是彩色的.但是, 你会发现显示到屏幕上却是黑白的.dev_close_window() dev_open_window(0, 0, 512, 512, 'black', WindowHandle) open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, '...

关于实现Halcon算法加速的基础知识(多核并行/GPU)

一、提高Halcon的运算速度,有以下几种方法:1、Multithreading(多线程)2、Automatic Parallelization(自动操作并行化)3、Compute devices,利用GPU提速,如果显卡性能好,至少可以提高5~10倍的运算速度二、多线程1、官方自带的例程get_operator_info.hdev,可以查看支持多线程的算子;* Determine the mul...

Halcon极坐标转换,图文解说,含点坐标的转换

极坐标的用途把圆形的图片转换为矩形,便于字符识别和关键区域的提取。在halcon中对应的算子(1)极坐标的展开:polar_trans_image_ext(Image : PolarTransImage : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height, Interpolation : )(2)极坐...
会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864