自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (5)
  • 收藏
  • 关注

原创 轨迹规划 - 梯形速度分布

梯形速度分布的轨迹规划,从本质上来说,是一个分段函数的轨迹规划,基本的方式是一个先加速,再匀速,再减速的三段函数的过程。当然,当间隔时间太短时,会出现分段函数只有加速和减速,无匀速的情况。或者因为开始速度和结束速度不相等,出现加速和减速过程不对称的情况。在梯形速度分布中,都需要根据实际的状况,分别的全面考虑所有的情况。一. 固定加/减速时间和匀速速度的模式初始速度为v0v_0v0​ = 0, ...

2020-05-07 09:44:24 4910

原创 轨迹规划 - 三次多项式and五次多项式

在轨迹规划中,有一个类别是多项式轨迹规划:抛物线、三次多项式、五次多项式、七次多项式、N次多项式。在这篇中,我们去掉最低,去掉最高,主要讲三次多项式和五次多项式这两种。此处多项式轨迹规划中,建立的函数关系式是:关节转动的角度和时间之间的函数关系式。三次多项式函数关系式为:两点之间,一段轨迹规划的起始时间是t0,结束时间是t1。多项式中四个常量参数的计算公式为:该公式中,q0是起始点...

2020-04-23 18:06:49 23211 2

原创 检测-纹理表面凸起、凹痕、划痕缺陷的检测

此示例是一个综合的示例,检测的是皮革纹理表面上出现的凸起、凹痕、划痕上的缺陷。使用的依然是光度立体法,只是不同的缺陷,需要使用的是不同参数所生成的图像。示例代码如下:* 使用光度立体的方法检测皮革样品* Initializationdev_update_off ()dev_close_window ()dev_open_window (0, 0, 640, 480, 'blac...

2019-11-28 17:16:10 10254 2

原创 检测-网孔是否正常的检测

该示例,检查的是网格网孔是否存在破损。示例代码如下:dev_update_window ('off')* 读图像read_image (Image, 'plastic_mesh/plastic_mesh_01')dev_close_window ()* 获取图像宽高get_image_size (Image, Width, Height)dev_open_window_fit...

2019-11-28 17:08:39 1393 1

原创 检测-光度立体法检测药片包装背面的缺陷

在工业领域,表面检测是一个非常广泛的应用领域。在halcon中,使用增强的光度立体视觉方法,三维表面检测被加强。利用阴影可方便快速的检测物体表面的缺口或凹痕。使用光度立体视觉方法可在复杂图像中轻松找到表面缺陷 。药片包装的背面,不平整并且还有很多文字。此示例便是使用光度立体法,检测药片包装背面的缺陷。示例代码如下:* 该示例通过使用光度立体技术检测药片包装背面的缺陷* 输入是4张不同...

2019-11-28 17:03:19 3917

原创 检测-批量检查边缘缺陷

本示例通过Blob分析+拟合的方法,对矩形的边缘进行缺陷检测;并且通过同样的方法对同一张图像中的多个矩形进行边缘缺陷的检测。示例代码如下:* 读取图像dev_update_off ()read_image (Image, 'punched_holes')get_image_size (Image, Width, Height)dev_close_window ()dev_ope...

2019-11-28 16:54:32 2197

原创 检测-饼干完整度的检测

本示例通过形态学处理,然后再通过矩形度和孔洞面积作为判断依据,来确认饼干的完整情况。示例代码:* 这个例子描叙了饼干质量检测。* 使用形态学进行提取和检查* 通过一些形状特征,比如矩形度还有孔洞面积* 读图像read_image (Image, 'food/hazelnut_wafer_01')dev_close_window ()dev_open_window_fit_i...

2019-11-28 16:49:17 1207

原创 检测-工件毛刺

这又是一个简短的示例,用简单的几个操作,就能将工件的表面毛刺检测出来。示例代码如下:dev_update_window ('off')* 读图像* 此处读图像是一次性读取多个图像文件read_image (Fins, 'fin' + [1:3])get_image_size (Fins, Width, Height)dev_close_window ()dev_open_wi...

2019-11-28 15:23:37 3016

原创 检测-PCB板线路

本次分享的示例代码很简单,总共加起来不到20行,但是这个很简单的案例,确有两个很重要的halcon知识点,因此该示例算是小而精的典范。先上代码:* PCB板线路检测* 读图像read_image (Image, 'pcb')dev_close_window ()get_image_size (Image, Width, Height)dev_open_window (0, 0,...

2019-11-28 15:04:32 1860

原创 为什么看halcon自带的示例代码是最好的halcon学习方式

由于智能制造和人工智能的火热,直接让机器视觉这个行业也火热起来。在机器视觉这个行业,对于我们技术人员来说,halcon、opencv、Ni-vision、VisionPro、CeresSolver等等就成为了我们敲开机器视觉工程师大门的敲门砖。在这些机器视觉专用SDK中,最容易让新手入门,也最专业实用的是halcon。想要学习halcon,我们有多种选择,比如:你可以报一个培训班,一般学习...

2019-09-08 11:44:21 30699 7

原创 基于频域的缺陷检测

基于频域的缺陷检测,是比较难理解的一部分,在纯看理论无法理解的情况下,可以通过先学习一些示例的学习,再回过头去重新理解理论。基于频域的缺陷检测示例解析:缺陷-傅里叶变换之划痕检测https://dwz.cn/WfCWrfKs理论-傅里叶 & 频域 & 滤波https://dwz.cn/J5wXHrOt检测-halcon中频域和空间域转换的两个重点算子...

2019-06-15 18:50:42 2188

原创 halcon - 亚像素轮廓 & 拟合

以下一系列的文章都是使用halcon,进行亚像素轮廓的提取以及拟合,同时还包括对亚像素轮廓进行联合处理的多种方法的说明。halcon拟合-圆拟合https://dwz.cn/DlUI1aIU拟合-拟合直线和圆https://dwz.cn/TCdVN2uM拟合-通过拟合确定电路板上垫子的准确位置https://dwz.cn/X9m7AZa5轮廓-通过轮廓间的距离检测手机壳...

2019-05-15 22:44:27 4452

原创 halcon - 缺陷检测的示例代码解析

以下一系列的文章都是使用halcon,进行缺陷检测。此次缺陷检测的应用范围,包括PCB线路板线路的缺陷检测、工件表面光滑度缺陷检测、饼干是否完整的缺陷检测、网格表面网孔是否完整的缺陷检测、药片包装背面的缺陷检测、皮革表面纹理的缺陷检测。1. 检测-PCB板线路:2. 检测-工件毛刺:3. 检测-饼干完整度的检测:4. 检测-批量检查边缘缺陷:5. 检测-光度立体法检测药片...

2019-04-27 23:08:20 7604 2

原创 六轴机械臂-正解+逆解+轨迹规划实现

之前,写了一篇博客,从坐标系的说明 -> D-H参数表的建立 -> 正解和逆解的整个算法推导过程整理了一篇博客https://blog.csdn.net/ymj7150697/article/details/80902226。今年将这些算法再加上轨迹规划实现了。博客里边不能上传视频,那么就先上截图:该demo使用QT+OpenGL实现,算法上实现了正解、逆解、关节轨迹规划...

2019-04-19 22:49:57 24690 10

原创 halcon代码解析合集

更多系统性的代码分享,请关注公众号:一. Halcon颜色识别1. 颜色识别示例color_simple.hdev解析https://dwz.cn/E2BVL7uZ2. 颜色识别示例color_fuses.hdevhttps://dwz.cn/KpOXDiOG3. 颜色识别示例color_pieces.hdevhttps://dwz.cn/11bxoVW...

2019-03-16 17:50:07 3663

原创 VS2013与halcon12联合

目前,我们看到的关于vs C#与halcon联合的介绍,大多数都是介绍vs2010的,当使用高版本的vs时,设置以及代码处理上会有一些区别。当下这篇文章各种参数如下:操作系统:Win10 64位VS版本:VS2013halcon版本:halcon12.0    halcon的安装路径:D:\Program Files\MVTec 该博客的内容录制了视频,视频文件以及例程代码路径...

2019-01-08 22:26:40 2875

原创 OCR识别-字符和背景很小差别的字符识别

OCR识别中,某些图像中的字符和背景之间的亮暗差别很小,需要进行处理,将字符区域从图像中扣出来进行识别。* * This example describes one step from the semiconductor product chain.* In the front-end-of-line step, the ICs are printed on the wafer. To...

2019-01-03 22:08:05 2841

原创 车牌识别-仿射变换

同样是车牌识别,此次的车牌识别,需要进行连续两次的仿射变化,才能成功识别。代码如下:* 读图像read_image (Chepai2, 'E:/halcon实战/chepai2.jpg')* rgb图像转灰度图像rgb1_to_gray(Chepai2, GrayImage)* 1. 此次blob分析,主要是获得一个区域,从而得到区域的角度* 阈值处理threshold (G...

2019-01-01 23:07:10 4341 3

原创 0025_阈值分割算子的说明

阈值处理,用来分割图像当图像中物体的灰度值存在差异,可以通过阈值分割的方法提取出目标所在区域1. auto_thresholdauto_threshold(Image : Regions : Sigma : )直方图自动阈值(自适应阈值)自动阈值输入必须是是单通道图像,会有多阈值分割,Sigma用于对灰度直方图进行高斯平滑,决定了平滑的程度(分割细致程度),当sig...

2018-10-17 23:05:38 1163

原创 0024_缺陷检测(5)

示例:fit_rectangle2_contour_xld.hdev此示例缺陷检测使用的方法是:blob + 拟合大体思路如下:1. 读取图像2. 预处理,逼近边缘图像,进行抠图3. 亚像素边缘提取, 并且拟合最小外接矩形4.求提取的亚像素边缘轮廓上的点到外接矩形四个顶点的最小距离 求提取的亚像素边缘轮廓上的点和最小外接矩形的最小距离5. 根据第五步求出的...

2018-10-16 20:51:25 2427 1

原创 0023_缺陷检测(4)

示例四:measure_fill_level.hdev此示例缺陷检测使用的方法是:模板匹配定位 + 测量大体思路如下:1. 采集图像2. 通过模板匹配定位找到参考线3. 用测量矩形找液面的边4. 计算边缘和参考线之间的距离代码分析如下:* 读取图像dev_close_window ()dev_update_off ()read_image (Ima...

2018-10-14 22:41:16 1376

原创 0022_缺陷检测(3)

示例三:check_blister.hdevblob分析+特征(定位)该示例的主要内容是:检测各个药板上的药粒是否存在缺失或者药粒不正确的情况该示例的实现的方法步骤如下:1. 读取药粒样板的图像2. 通过blob+定位等手段,获取药粒样板的区域以及其他相关数据3. 循环读取待检测的药板图片进行处理3.1获取药板的区域,并且对药板图像进行仿射变换的处理3.2获取药板上...

2018-10-13 23:40:11 1451 3

原创 0021_缺陷检测(2)

示例一:novelty_detection_dyn_threshold.hdevblob + 特征此示例通过局部二值化,然后计算连通域,特征提取,即可判别出是否存在缺陷此示例有局部二值化,通过:mean_image + dyn_threshold组合动态阈值分割图像分割(局部阈值法)dyn_thresholdOrigImage:输入图像Thre...

2018-10-12 22:07:28 1454

原创 0020_缺陷检测(1)

常见缺陷的分类:1. 外部边缘的:凸凹缺陷2. 内部的:污点、内部凸凹点、瑕疵、孔洞、破损、烫伤、侵染等3. 划痕缺陷检测的处理步骤:1.打光:划痕的打光:低角度环形光;划痕打白,背景打暗同轴光条光对打凸点:一定角度的光,凸点亮凹点:垂直光,凹点暗2. 缺陷检测处理的6种方法:blob分析+特征blob分析+特征+差分频...

2018-10-11 22:54:07 2111

原创 0019_畸变矫正(单相机标定)

畸变:图像形状发生了变形(本来是直线,变成了向内凹或者向外凸的弧线)单相机畸变矫正的处理步骤:1. 使用标定板,在halcon中使用标定助手,得到相机的内外参数可以将内外参数据生成到halcon中2. 标定后的初始内参形成无畸变的内参3. 标定后的初始内参与无畸变内参之间形成map映射关系4. 将map映射作用到图像上涉及到的算子:形成无畸变内参...

2018-10-10 22:05:23 2716

原创 0018_单相机标定

需要使用的器材:一个带支架的摄像头、标定板标定板 7*7 ,每个圆点之间的距离为4mm,标定板的厚度为1mm生成描叙文件(生成一个.descr文件和.ps文件)gen_caltabXNum:X方向标记的个数YNum:Y方向标记的个数MarkDist:标记之间的距离,单位为mDiameterRatio:标记直径与标记距离的比率CalPlateDescr:校...

2018-10-09 22:28:51 982

原创 0017_Blob分析

Blob分析是识别前的处理。一般Blob分析所进行的动作如下:1. 将RGB图像转为灰度图像,因为Blob分析是针对灰度图像进行处理的2. 预处理(让图像平滑、拉大图像的对比度、去噪等)让图像平滑的一般方法如下:中值滤波均值滤波高斯滤波3. 二值化(二值化之后,得到的是一个连通域)4. 其他(填充孔洞、凸性、外接矩形等等)填充区域中的孔洞fill_...

2018-10-08 21:35:31 1131

原创 0016_光源和打光(1)

条光:从侧面打光条光照射宽度最好大于检测物体的宽度条光的安装高度会影响到条光的长度,高度越高,条光的长度越长。环形光:安装高度越高,要求环形光的直径越大了解光源安装距离,过滤掉某些角度光源:例如要求光源安装尺寸高,就可以过滤掉大角度光源,选择用小角度光源。如果目标面积小,且主要特征在表面中间,可选择小尺寸0角度或者小角度光源目标需要表现的特征在边缘,可选择90...

2018-09-19 21:43:40 1161

原创 0015_模板匹配(基于形状 其他算子说明)

基于形状的模板匹配过程中,会使用到的一些算子说明://连接两个对象元组concat_objObjects1:元组对象1Objects2:元组对象2ObjectsConcat:输出连接后的元组对象//均值图像//多通道灰度值求均值mean_nImage:输入图像ImageMean:平均后的图像单通道图像变成多通道图像channels_...

2018-09-18 21:46:09 1096

原创 0014_模板匹配(基于形状 参数说明)

模板匹配过程总,不管是创建模板还是匹配的算子,参数都比较多,如果我们出现模板匹配不上或者创建模板、匹配时速度很慢的情况,则需要我们调整创建模板和匹配的算子参数。关于参数的调整,我们可以参照以下的一些说明:1. 对比度:对比度越小,识别率越高,如果需要物体在任何状态下都能被识别,减小MinContrast的值2. 金字塔层数越高搜索越快,但是匹配失败率越高3. MinScore越小,...

2018-09-17 21:55:37 875

原创 0013_模板匹配(基于形状 多模板)

基于形状的多模板匹配,有如下几个关键点:1. 创建模板的时候,需要将模板句柄组成数组2. 匹配的时候需要使用find_shape_models算子//多模板匹配find_shape_modelsImage:输入图像ModelIDs:模板句柄(数组)AngleStart:模板最小旋转开始角度AngleExtent:旋转角度范围MinScore:最低得分...

2018-09-16 19:09:08 1790

原创 0012_仿射变换

仿射变换的简单说明:对于2D范围内,仿射变换即为2D范围内的平移和旋转变换的结合。对于2D范围内的仿射变换,使用的是一个3*3的齐次矩阵。有两种常见的仿射变换方法,两种仿射变换的对比如下:一种是对轮廓进行仿射变换(方法一)一种是对具体的2D坐标进行仿射变换(方法二)分别如下:两种仿射变换的方法:仿射变换 - 方法一//从点和角度计算刚性仿射变换v...

2018-09-15 22:21:27 635

原创 0011_模板匹配(基于形状)

模板匹配有三个关键的步骤:1. 创建模板2. 匹配3. 释放模板基于形状的模板匹配,三个关键步骤的常用函数如下://创建模型create_shape_modelTemplate:输入图像,其域将用于创建模型NumLevels:金字塔层数AngleStart:旋转起始角度AngleExtent:旋转角度范围AngleStep:每一步的角度Opti...

2018-09-14 21:43:01 1185

原创 0010_OCR识别(环形字符识别)

环形字符识别包括如下几个步骤:1.得到内外半径(Blob分析(二值化、形态学、select_shape))2.拉直(极坐标转换)3. 二值化、分割4. 识别5. 显示极坐标转换前处理的步骤:在进行极坐标转换之前,需要对环形区域进行处理,从而得到polar_trans_image_ext算子所需要的参数。一般的方法步骤如下:1. 阈值化2. 圆形结构的闭...

2018-09-13 21:04:52 2703

原创 0009_OCR识别(2)-识别之前的一些处理方法说明

在OCR识别过程中,碰到一些情况的处理方法: 1. 如果图像是倒过来的可以使用mirror_image算子对图像进行镜像处理,将颠倒的图像转正mirror_imageImage:输入图像ImageMirror:输出镜像后的图像Mode:翻转轴 2. 关于预处理:主要包括滤波和拉开图像对比度滤波主要使用三种:中值滤波、均值滤波、高斯滤波拉开对比度,主要...

2018-09-12 21:32:35 534

原创 0008_OCR识别(1)

OCR识别,一般是对灰度图像进行处理。OCR识别的一般步骤如下:1. 先进行定位校正2. 分割,将各个字符断开成不同的联通域3. 求交集(二值化后的图像区域 和 断完之后的区域)4. 排序,识别的时候按照顺序来5. 读ocr分列器6. 识别7. 显示OCR识别的算子://创建分列器//使用多层感知器创建OCR分类器。create_ocr_...

2018-09-11 21:51:23 365

原创 0007_拟合前的处理

进行拟合前,需要对获取的轮廓进行分割、联合的处理,有如下相关的算子可以关注下:分割://将XLD轮廓分段为直线段、圆弧段、椭圆弧段segment_contour_xldContours:输入被分段的轮廓ContoursSplit:输出分段后的轮廓Mode:分割轮廓的模式SmoothCont:用于平滑轮廓的点数MaxLineDist1:轮廓与近似线之间的最大距离...

2018-09-10 23:16:10 476

原创 0006_拟合

拟合的一般步骤:1. 采集图像2. 预处理,去燥、抠图3. 边缘提取4. 分割轮廓(或者联合轮廓)5. 拟合6. 或者进行距离的计算、或者显示拟合的三个重要函数(直线、椭圆、圆)//拟合直线fit_line_contour_xldContours:输入轮廓Algorithm:拟合直线的算法MaxNumPoints:用于计算的最大轮廓点数,-1表...

2018-09-09 21:18:42 415

原创 0005_图像边缘提取

关于图像边缘的一些知识点:在拟合之前,需要先进行边缘提取。图像边缘的总结:灰度值变化剧烈的地方为边缘,其实就是求导,导数的绝对值越大,越可能为边缘边缘有正负之分,就像导数有正值也有负值一样:由暗到亮为正,由亮到暗为负求边缘幅度的算法:一阶导数:sobel、Roberts、prewitt等算子二阶导数:Laplacian、Canny算子Canny算子效果比其他...

2018-09-08 22:21:12 511

原创 0004_定位+测量

关于定位的说明:定位的作用,是为了测量时,不管物体怎么旋转,测量矩形都能测量到实际需要测量的位置。通过定位,可以得到测量矩形的旋转角度值。定位一般使用的方法:1)模板匹配2)Blob分析定位+测量(模板匹配)的一般方法步骤:1)创建模板2)模板匹配3)获得坐标位置和旋转量4)以模板匹配获得的位置额旋转量,形成测量矩形5)测量6)显示模板匹...

2018-09-07 22:51:00 517

六轴机械臂正解(FK)和逆解(IK)算法

整理出了如下几个计算六轴机械臂正解和逆解的关键点: 01_机器人坐标系和关节的说明 02_算法坐标系的建立 03_D-H参数表的建立 04_FK(正解)算法 05_Matlab辅助计算FK(正解) 06_IK(逆解)算法 07_Matlab辅助计算IK(逆解) 文档中针对FK以及IK算法的推导均有详细的推导过程。希望各位能根据推导过程写出自己的代码。

2018-07-03

ucosii 移植到 skyeye 虚拟LPC2210

写的比较详细的ucosii移植到skyeye 虚拟LPC2210的文档,对于熟悉ADS的可能更加有帮助。

2013-07-07

netbeans字谜游戏

一个用netbeans编写的小游戏,界面做得挺漂亮的

2008-09-28

netbeans资料

关于netbeans的一个简易教程,是sun公司的,漂亮的阅读界面,是一种很好的享受

2008-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除