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

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

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

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

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

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

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

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

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

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

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

手眼标定之9点法

写在前面由于涉及到公司的一些内容,本文仅做方法和思路记录,请见谅。用途9点法标定是工业上使用广泛的二维手眼标定,所谓二维,即工作平面限制在一个平面上,常用于从固定平面抓取对象进行装配等操作,这种应用场景可以满足大多数的工业应用场景。使用过程和一般的手眼标定一样的是,9点法标定也分eye_in_hand和eye_to_hand两种,标定的结果分别是相机坐标系与工具坐标系的转换矩阵(4*4),以及相机...

手眼标定的两种方式

最近在学习手眼标定,做下笔记,和大家分享下学习经历:一 手眼标定的两种情形首先讲一下在工业应用中,手和眼(摄像机)的两种位置关系,第一种是将摄像机(眼)固定在机械手(手)上面,眼随手移动;第二种是摄像机(眼)和机械手(手)分离,眼的位置相对于手是固定的,下面用网上的两张图来说明下:第一种情况:相机移动第二种情况:相机固定从上面两副示意图可以看出,第一种情况中我们要求的是相机坐标系和机械手坐标系的转...

halcon之手眼标定基本原理

手眼标定涉及的坐标系有:工件坐标系工具坐标系相机坐标系(相机坐标系里又有图像坐标系和像素坐标系,这其实就是前面讲的单目标定的内容)基坐标系手眼标定一般有两种形式:1、相机固定(eye-to-hand)我们需要的最终结果,即得到base 与 cam 的空间位置关系,即一个4*4的变换矩阵。这个可以通过移动tool带着标定板移动到相机下方不同位置角度,由相机多次拍摄标定板来计算得到。有些相机虽然固定在...

Epson四轴机器人的手眼标定(原理并附上halcon代码)

关于机器人视觉的手眼标定的原理,勇哥先放上一些教程资源:工业现场相机坐标系和机械手坐标系的标定halcon之手眼标定基本原理手眼标定的两种方式手眼标定之9点法众所周知,目前机器视觉项目,很大一部分都是引导机器人去取料 放料等工作。 这个里面就有个非常重要的工作要做。就是将相机的坐标系 映射到机器人坐标系里面,这样才可以实现视觉配合机器人动作。 通常这种标定使用有多点标定法(俗称九宫格标定法)可以...

C# 设计模式练手(二):单例模式

单例模式主要处理两个问题: 全局访问与实例化控制单例模式采用private构造函数,让该类不能外部new, 并且提供static方法 GetInstance()方法返回唯一实例.采用lock机制可以避免在多线程环境下可能产品多个实例.下面是勇哥编写的一个例子:工具箱1Form和代码using System; using System.Collections.Generic; using Sys...

机器人上下料视觉定位,标定的经验

(一)先拍再抓和先抓再拍的区别先拍再抓要简单得多,拍照后,视觉给机器人纠偏位置,然后下去吸,这样能保证每次取料位置一致。放料的时候不用管,只用走一个固定的示教点即可。先抓再拍则因为每次吸起电芯时,吸嘴在电池上的位置不同,电池相对吸嘴的角度也不同,因此在放料那边需要做一些复杂运算才可以保证放料位置保证一致。(二)先拍再抓的流程流程分为3个部分:(1)首先取得模板电芯的特征点信息,示教载盘上放料位置点...

SPC常见项目的计算公式

SPC即统计过程控制(Statistical Process Control)。SPC主要是指应用编译分析技术对生产过程进行实时监控,科学的区分出生产过程中产品质量的随机波动与异常波动,从而对生产过程的异常趋势提出预警,以便生产管理人员及时采取措施,消除异常,恢复过程的稳定,从而达到提高和控制质量的目的。在测量设备的软件中,经常客户的品质部门会要求设备增加SPC的相关监控工具。 计算公式举例:过程...

halcon例程学习笔记(4)---count_fish_sticks.hdev基本函数使用

通过本例程巩固了对剖面灰度值的描述,并进行测量,算子使用同“halcon例程学习笔记(2)”。此例程进一步学习了halcon中的基本函数的使用方法:subset 求取一个数组的子集find 查找相应条件的值的位置索引数组的错位减法的使用。其它基本图像处理基本算子,可以查阅halcon使用手册,详细了解。例程代码如下:dev_update_off () dev_close_window (...

halcon例程学习笔记(3)----check_smd_tilt.hdev

本例程来做halcon10.0版本中的一维函数中check_smd_tilt.hdev例程,通过此例程可以学习到如何使用halcon中算子measure_projection通过投影图像上垂直于剖面线方向的灰度值来提取1D灰度剖面,如下是对此算子的详细理解:更多关于测量的算子理解,可以参考北京大恒宣讲的PPT halcon测量技术。下面例程是检测SMDS是否与近水平或者相对相机是否倾斜。分析图像...

Halcon例程学习笔记(2)—— Particle

其为分析液体中的成分,得出区域中的平均灰度和面积;在液体二值图像中有几个亮斑,需要提前去除;液体成分中灰度变化不明显,直接采用全局阈值处理效果不佳;读取鼠标按键数值,并选择区域。threshold (Image, Large, 110, 255) * Dilate regions with a circular structuring element dilation_circle (Larg...

[netMarketing类库] EpsonRobot类: Epson机器人远程控制模块

命名空间:netMarketing.automation.Robot.Epson功能:Epson机器人的远程控制类功能详细说明:EpsonRobot类是一个用于以太网远程控制Epson机器人的类。使用前,先把机器人的控制器配置为“远程以太网”模式。有关远程控制的知识,请参考勇哥另一篇贴子的介绍:Epson机器人远程控制指令测试注意:使用这个类需要使用netMarketing V1.3.0及以上的版...

Epson机器人软件中的“机器人管理器”为灰色

“机器人管理器”为灰色,如下图:其原因是你要先打开一个工程,才可以使用“机器人管理器”。这个是该软件一个莫妙其妙的地方。因为这个问题有时候会忘记,在这里留个记录吧。--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上博文链接!...

Halcon例程学习笔记(1)——Atoms

这个例程的目的是使用算子来找出结构不规则的原则,其中涉及到一些算子:crop_rectangle1:从图像中截取矩形图像 gauss_filter:高斯滤波 watersheds:图像分水岭算法 smallest_rectangle1:平行于坐标轴的最小外接矩形Part Ⅰ 初始化程序dev_update_off () dev_close_window () dev_set_draw...

halcon例程学习笔记(11) 一维码、二维码识别

1、一维条码一维条码:由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。 一维条码的码制: EAN码、39码、交叉25码、UPC码、128码、93码,ISBN码,及Codabar(库德巴码)等。 EAN 码:是国际通用的符号体系,是...

halcon视觉检测电芯表面是否有条码

要检查电芯表面是否有条码,可以知道电芯是否放反面了,起到视觉防呆的作用。勇哥能想到的思路是:一维,二维码识别,能识别则为有码面。框选区域,算子intensity计算区域灰度值的平均值或者方差,以此来判断是否为有码面。下面的程序两种方法都用到,把代码做个记录,供大家参考。其结果可以看到,完美的情况下,两种方法都可以。但其实还是有问题的,比如如果电池表面贴了膜,那么因为反光的原因,两种方法都有可能会误...

怎么带团队

带团队很简单,迈过3道坎,走到第7关,你就成功了一半。我做10几年的团队管理,带了不少于30位新晋管理者,发现从「执行思维」到「管理思维」的转变是新晋管理者必须攻克的关卡。文章比较长,根据10几年经验的积累和实战总结,一个字一个字敲打上去的。为了便于大家阅读,我放了个思维导图,每个部分都可以写成一篇长文,加入具体执行建议,后续会继续写,希望大家支持。可以关注 @韩大叔 ,看后续的高质量内容。在这...

C# Winform 添加现有项窗体,窗体的Designer.cs不在窗体下 也就是Designer.cs /.cs /.resx三者分离的解决办法

这个问题是这样的,勇哥希望把另一个程序的一个form或者自定义控件复制到现有的工程中去。最笨的方法是创建空白form,然后把要复制的form上的内容粘贴过来,然后把相应代码也粘贴过来。最蠢的人都知道直接把这个form的三个文件复制过来就可以了,三个文件即是Designer.cs /.cs /.resx下图所示是: Form1.cs, Form1.Designer.cs, Form1.resx但是...

三菱FX5U与上位机通讯时的网络设置

勇哥的公司现在大量采用三菱FX5U的PLC。据说这款产品在8轴的产品里价格有竞争力,而且还内带一个以太网口。三菱PLC的内存读写可以采用前辈写的HSL模块,但是需要在PLC端做一些设置,否则连接不上。设置如下图所示,其中分配了两个端口号,4999,6000。也就是说这款产品可以指定多个网络端口号,以供外部设备与其网络通讯。在上位机这边,我们以tcp client来访问即可,即PLC是一个tcp s...

测试电芯直流内阻的小程序(C#)

什么是电芯的直流内阻?下面两篇文章各位可以参考一下:关于电池的内阻知道这几点就够了?IT8511+表测试电芯的直流内阻下面是IT8511表的测试指令,也可以使用字节流指令。MEAS:CURR? SYST:REM 远程模式 MODE CURR 设置定电流模式 CURR 10 设置放电电流 MEAS:VOLT:DC? 读取电压值 INP 1 打开电子负...

[netMarketing类库] MonitorMemory类: 监视内存、自动释放内存

命名空间:netMarketing.automation.baseClass.MonitorMemory功能:监视内存、自动释放内存功能详细说明:这个类是勇哥的同事用到的一个类,用于内在超出一定范围后自动启动内存清理。其它内部是调用GC.Collect();因此它只会对托管代码有效,对于非托管的代码如果产生内存占用或者内存泄露是无法回收的,这种情况一般是见于程序中调用了第三方dll的情况下,常见的...

git中拉代码pull代码后和本地代码冲突中的 head标志

<<<<<<<head 是指你本地的分支的<<<<<<< HEADb789=======b45678910>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcchead 到 =======里面的b789是您的commit的内容===...

[netMarketing类库] mdbFun类: Access的mdb数据库处理类

命名空间:netMarketing.database.mdbFun功能:Access数据库处理类,只适用于扩展名为.mdb的数据库,不适合新版的Access数据库功能详细说明:2007版本以前的access文件扩展名是mdb,2007版本以后的access文件扩展名是accdb。这个类只能处理扩展名为.mdb的老版本Access数据库,勇哥把它保留在netMarketing中只是为了兼容一些老旧的...

A/D采集卡9111的应用例程(C#)

勇哥偶然在硬盘上看到这个项目。其目的是用A/D采集卡采集基恩士G025激光控制器的模拟输出信号,其目的是实现激光数据的实时读取。因为G025的批量采集方式是等采集完成才由控制器缓存下载一次性到IPC的,这个过程中无法实时看到激光采集到数据。这个实验用到的是9111 A/D采集卡,把激光控制器的+-10V的信号转为数字量。该验证勇哥做了足足半个月,转换结果非常的好,印象中数字量和模拟量转换后的结果其...

[netMarketing类库] SiemensProtocol:西门子PLC通讯类

命名空间:PLCLibrary.SiemensProtocol功能:西门子PLC通讯类功能详细说明:这个类经测试可以支持S7 300, S7 1200, S7 1500等西门子PLC,勇哥已经经过实际项目的检验,高度可靠,大家可以放心使用。常用函数列表:public string BrandPLCModel { get; } public bool ConnStatus { get; } pu...

[netMarketing类库] simulation类:三菱FX2N PLC仿真

命名空间:netMarketing.automation.plc.softPlc功能:三菱FX2N PLC仿真功能详细说明:目前暂时只支持三菱PLC fx2n的下列指令:LD,LDI,LDP,LDF,AND,ANB,ANI,ANDP,ANDF,OR,ORI,ORB,ORP,ORF,OUT,MPS,MPP,MRD,INC,DEC,SET,RST,MOV,XCH,END这个类是勇哥很早以前开发的,本意...

拖入netMarketing类库控件时,报:Visual Studio 报错:未能加载工具箱项,将从项目中移除

勇哥在使用Nuget安装netMarketing类库时可以正常使用其下的控件,但是如果以加载工程的方式使用netMarketing类库,如下方式:以多个工程的方式使用netMarketing类库及其组件。在用户工程demo中引用netMarketing及其组件。在demo工程的面板上拖入其控件时却发现报下面的错误:Visual Studio 报错:未能加载工具箱项xxxxx,将从项目中移除这个问题...

[netMarketing类库] OPT光源控制器控件LBOPTControl的使用方法

命名空间:netMarketing.automation.hardware.Light功能:OPT光源控制器用的控件功能详细说明:OPT的光控控制器在勇哥所在公司应用比较广泛,因此将其集成进入netMarketing,以控件的方式供大家使用。常用函数列表:这个控件常用的只有一个IntensityUpdateEvent事件,它是在拖动4个通道的滑块改变亮度时触发的事件,会传出4个int型。注意本控件...

计算产品面的平面度和平行度(C#代码)

和以前的同事聊了一下他最近的项目,需要求产品的平面度。也就是产品本身是否面不平整,对于在这个平面上安装摄像头之类的元件来说,这个平面度是受工艺管控的。这个同事学校刚毕业没多久,学习得蛮快的,一年左右就能自己上手项目了,赞一个!由于这个知识勇哥也欠缺,就此记录一下,隐去项目本身,只用文字和代码记录一下相关的知识。下面代码由同事提供,在此对他表示感谢!平面度和平行度的算法平面度就是采集到一组点(x,y...

[netMarketing类库] MotonCard:雷塞dmc2210运动卡封装类

命名空间:netMarketing.automation.hardware.MotonCard.dmc2210功能:雷塞dmc2210运动卡封装类功能详细说明:雷塞DMC2210运动控制卡是一款2轴运动控制卡,支持2轴差补。工作中见得比较多的一款。支持win64位系统。这个类只适用于快速测试,已经做了缺省值的运动参数配置,直接可以用起来,以方便测试。常用函数列表:/// 读通用IO状态 publ...

盈动线性绝对值编码器(光栅尺)的测试记录

“猪悟能的博客”中这篇文章,是勇哥多年前写的。今天有个实验要用到这款编码器,时隔近4年了,却忘记怎么接线了。打电话厂家,居然说这款产品太早了,他也不知道怎么接,估计已经停产了吧。特地转载一下这篇文章,并附上接线的方法。下图是接线方法:这款盈动的线性绝对值编码器型号为: CAPLIN-A-485其安装好光栅尺后的外型下面这样的.工作的时候,信号端子和光栅尺是固定的, 滑头由电机带动.编码器数据由48...
会员中心
搜索
«    2024年5月    »
12345
6789101112
13141516171819
20212223242526
2728293031
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 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