2021-05-31 19:41:55
C#4.0的并行库TPL,即Task(一)http://www.skcircle.com/?id=1793C#4.0的并行库TPL,即Task(二) http://www.skcircle.com/?id=1798C#4.0的并行库TPL,即Task(三) http://www.skcircle.com/?id=1808C#4.0的并行库TPL,即Task(四) http://www.skcir...
2021-05-20 14:10:15
(一)编码器编码器分为绝对值型和增量型增量型编辑器在运动控制中可以在当前位置计数置0,绝对值编码器不可以。1. 编码器输入方式编码器的InMode 即编码器输入方式,1:脉冲+方向信号;2:A、B 相位正交信号这两种方式是根据编码器接线不同而不同。其中AB相位正交信号最为常用。这种方式用于提高分辨率,利用相位差为90度的 A、B信号与原脉冲数相乘(图1) NPN增量型编码器接线(图2) PNP绝对...
2021-05-14 19:02:13
引言:使用这个BitArray是为了方便操作位,在操作IO卡或者运动卡的IO函数的时候,往往返回一个short值,然后需要转二进制后对其中的位进行操作,这个时候BitArray就方便了。C#位数组一、引言如果我们着重处理一个以位为单位的数据时,就可以考虑使用位数组。例如在很多PCI的IO卡中涉及很多的I位的读取以此判断各个开关量的状态,或者设置继电器输出状态时,就会频繁用到位的操作。这种情况C#提...
2021-05-14 14:21:56
(1) 莫妙其妙出现继承的问题图上的类没有继承任何类,但实际上生成的带有继承关系。 解决方法用最笨的方式:删除原有的类,重新画一个就好了。真是奇怪的问题。(2)包是啥东西经过实验,发现包代表一个命名空间。包内部的类、接口都位于同一个命名空间。(3) 出现两个相同的继承的问题如下图所示,很奇怪。应该是UML类图本身的bug吧。解决方法还是删除这个类,重新画一遍就好了。(4)属性和字段的类型指定可以...
2021-05-14 09:47:59
1、进入项目的目录下,点击右键单击【git bash】。2、打开【git bash】的界面。3、在命令下输入【touch .gitignore】创建文件。4、利用文本编辑器打开【.gitignore文件】,# 代表注释。5、#忽略根目录下bin文件夹中的所有文件,【/bin/*表示】。6、#忽略所有.class文件,*.class。7、#不要忽略根目录下bin文件夹中.java文件,!/bin/*...
2021-05-14 08:58:22
一直以来勇哥用git都是用的线上仓库github。现在公司开发的软件因为保密原因,我准备用本地仓库的方式使用git。需要一点经验指导,所以转载一篇文章,以备查。1、Git是什么?一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样我们可以选择在合适的时间将本地版本推送到统一的版本管理服务器 ②Git每次会...
2021-05-14 08:08:39
这个功能如下图所示:网上的教程用的是旧版excel讲解的,不适用。所以在这里记录一下实现办法。先选中你要产生这种效果的那一列单元格然后点“数据验证”弹出的对话框中选择“序列”再人工把要选择的字符串以逗号分隔填写到“来源”文本框中去。这一步关键进你得人工填写进去,而不是选择单无格中的数据。勇哥就是错在这一步半天整不出来。OK了。--------------------- 作者:hackpig来源:w...
2021-05-12 19:02:50
新建工程,建模项目请相信默认安装的vs2015是肯定有这个“建模项目”的。这时解决方案是空白的,在上面右键选择添加-〉新建项选择UML类图这时出现了编辑窗口,并且工具箱就有了内容。画一个图出来。空白处鼠标右键,“生成代码”然后出现下面这个,如果你点击“否”,我这边看到的是生成失败。如果你点是“是”,可能信息显示生成成功,但是代码在哪里呢? 毛都没得。这里是个很奇怪的坑。于是勇哥先退出工程,打次打开...
2021-05-11 15:29:30
使用VS2013或VS2015生成UML类图 深入浅出UML类图(一)深入浅出UML类图(二)深入浅出UML类图(三)深入浅出UML类图(四)深入浅出UML类图(五)C# 设计模式练手(一):简单类工厂C# 设计模式练手(二):单例模式 设计模式之 面向对象的养猪厂的故事,C#演示(一) 设计模式之 面向对象的养猪厂的故事,C#演示(二) 勇哥谈谈C#中的接口Interface的常用套路...
2021-05-10 16:19:59
最近了解到StarUML比较多,所以写一篇教程供大家参考,不足支持,请见谅。StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强(zj).StarUML官方下载地址: http://staruml.io/download安装教程:安装步骤很简单,省略。注意:付费软件,如需破解网上很多教程,不...
2021-04-30 07:13:40
前言几个星期前去面试C++研发的实习岗位,面试官问了个问题:new与malloc有什么区别?这是个老生常谈的问题。当时我回答new从自由存储区上分配内存,malloc从堆上分配内存;new/delete会调用构造函数/析构函数对对象进行初始化与销毁;operator new/delete可以进行重载;然后强行分析了一下自由存储区与堆的区别。回来后感觉这个问题其实回答得不怎么好,因为关于new与ma...
2021-04-17 20:14:10
机器视觉常见数学公式回顾(一) http://www.skcircle.com/?id=1336常见相机标定模式和经验的总结 http://www.skcircle.com/?id=1421 手眼标定之9点法 http://www.skcircle.com/?id=5882020年勇哥的机器视觉实验项目清单(大纲) http://www.skcircle.com/?id=1178EPS...
2021-04-07 07:53:39
写代码已经有很长一段时间, 但感觉成长很少,基本是为了功能开发而开发,我相信80%的程序员都一样,基本都是拿网上的开源项目改改改后实现功能就行, 很少会去深入,去思考为什么要这么来实现,所以有了今天的文章,我作为程序员小白鼠把C#中的抽象类学习中的感想跟大家分享一下:什么是抽象类抽象类的应用场景实例代码1.什么是抽象类我先来个百度百科的词条解释吧抽象类往往用来表征对问题领域进行分析、设计中得出的抽...
2021-03-30 16:32:23
这个功能是用于在C#那边用halcon引擎执行程序时的交互性调试用的。下面的主机与端口是指的C#那边的主机与端口。你必须在C#这边用下面这句MyEngine.StartDebugServer(); 开启调试服务器。这个调试服务器默认的地址是: localhost 端口是:57786勇哥感觉指定网络中另一台机器做为服务器也应该是可以的。 private void Form1_Load(object...
2021-03-22 22:43:38
摘 要当前我国信息科技的发展, 产业界自动化生产水平越来越高。 具体在电子产品行业, 随着精细化和自动化的发展, 电子产品的焊点质量的好坏, 深刻地影响着产品成品的质量和效率, 因此, 对于焊点的缺陷检测也成为了 电子制造行业亟需解决的问题。 传统的人工检测方法存在费时、 精度低、 效率低下等问题, 各种新的检测方法应运而生。 其中, 机器视觉运用到自动化生产乃至焊点检测已经成为当代自动化生产发展...
2021-03-21 22:30:09
1D测量之一 学习如何使用Halcon进行1D测量,可以参考:1、 Halcon自带的文档【solution_guide_iii_a_1d_measuring.pdf】2、 Halcon例程【measure_switch.hdev】 其中 【solution_guide_iii_a_1d_measuring.pdf】,第一章以Halcon例程【measure_switch.hdev】为例...
2021-03-13 16:58:53
勇哥碰到下面这个错误。我记得之前是好好的。MyEngine.UnloadAllProcedures(); 这个在halcon19.11是没有问题的,现在勇哥换成了halcon12就出了内存异常问题。经过实验,我发现另一个成员函数UnloadProcedure是可以正常使用的。MyEngine.UnloadProcedure("demo1");这个函数需要指定要重新载入的函数名...
2021-03-08 14:51:17
USB相机,包括usb2.0和usb3.0的,这些相机在halcon里面选择的是DirectShow接口。在网上和使用过许多usb相机的朋友讨论过,它有下面的一些问题: halcon的directshow支持的分辨率不全你无法选择想要的分辨率。这一点勇哥用halcon19.11试了下,可以看到分辨率是只读选项。但无法达到最大分辨率这种问题,可能是对某些相机而言。USB相机不能设置固定的ID如果同时...
2021-03-06 14:54:30
大很多场合,需要在视觉程序中导入CAD文档,比如,在3C行业,需要对手机外壳进行CNC加工,或者点胶操作,此时,需要获取产品的各个点的数据。如果将CAD直接导入,就会大的减少编程工作量,同时也能达到很高的精度。以下为Halcon自带例程:* This example program shows how to read DXF files and how to
* use this CAD des...
2021-03-04 20:11:04
勇哥在测试halcon的C#视觉程序。因为这个程序是调用的halcon引擎方式在工作。共6个halcon外部函数在并发跑,并且窗体实时更新结果。可以看到程序已经占用了约3.4G内存。这是持续运行12小时后的结果。cpu时间占用感人。这是个需要优化的地方。然后到了晚上,勇哥回家里使用正在测试的这台电脑。发现键盘响应变慢了,在Hdevelop的开发环境下按f6单步一个调试程序,变得很慢,好几秒才有反应...
2021-03-03 09:00:54
勇哥注:这是篇转自公众号“HwLib慧兰博”的文章。这个公众号貌似是一个团队在运营,都是工业自动技术相关本文介绍的是皮肤控件IrisSkin,在之前勇哥用的是DotNetBar,这个东西是好是好,只是比较慢。而IrisSkin速度如何,各位可以体验一下。 WinForms由于先天性的缘故,对于酷炫的界面实现起来比较困难。这就导致早期很多公司或者团队都在致力于开发针对WinForms的换肤控件。不...
2021-03-02 09:00:50
一般的光照补偿算法结合网上的资料发现比较多的去光照不均匀算法基于二维伽马函数的光照不均匀图像自适应校正算法本文发表于北京理工大学学报该算法流程如图:将图片投影到hsv域,对亮度v进行gamma校正,然后重新融合图片,得到校正后的图片。参考网上的matlab代码clc,close all;
tic;
im=imread('srcmpp.bmp');
%im=imread(...
2021-03-02 08:58:52
基于二维伽马函数的光照不均匀图像自适应校正算法相应论文:基于二维伽马函数的光照不均匀图像自适应校正算法http://journal.bit.edu.cn/zr/ch/reader/create_pdf.aspx?file_no=20160216&year_id=2016&quarter_id=2&falg=1该文的算法流程如下图所示:实现工具:matlab2013a.效果图...
2021-03-02 08:54:45
1. 案例描述在数字图像处理中,图像分割是很关键的一步,当图像质量较好,光照很均匀的时候只需用全局阈值的方法就能很完美地完成图像分割任务,但是有些时候会遇到光照不均匀的现象,这个时候就需要用一些技巧才能达到比较好的分割效果。我们先看一个实例,下面图1和图3为做硬币面额识别拍摄的,可以看到,由于硬币表面的反光以及打光角度的原因,图片存在严重的光照不均现象。如果对两幅图像直接进行全局阈值可以得到图2和...
2021-03-01 21:32:43
(一)请求的操作无法在使用用户映射区域打开的文件上执行这个报错是C#工程里有文件被占用了。这个问题可以重启电脑解决,也有可能是被git占用了(猜测,未坐实)。勇哥是关闭全部文件没重启电脑,一段时间后再打开C#工程就好了。(二) 关于WriteImage算子的问题在下面的代码中,平淡无奇的一句:HOperatorSet.WriteImage(img1, "bmp", 0, pat...
2021-02-27 14:29:32
动画是在基恩士官网上看到的,现转载一下,以方便大家参考:引用自:https://www.keyence.com.cn/landing/robotVision_movie_library.jsp 上固定相机的抓取动作设定示例将为您介绍使相机固定到机械手上方后,抓取动作所需的CV-X系列的设定流程。下固定相机的抓取偏移补正动作设定示例将为您介绍使相机固定到机械手下方后,抓取偏移补正动作所需的CV-X系...
2021-02-26 20:38:13
前言python是解释型语言,源码是普通文本,也是它的执行程序。所以商业视觉软件包开发不能用这个。
python可以用于工业应用,因为除非你的设备绝密,否则让客户看到源码也无所谓。
python用于工业方面的应用有一些例子,但受限于硬件商,绝大部分硬件不支持python,以C#,C++,VB为主。
python在深度学习方面已经统一江湖,其它语言都成了陪练。
python支持opencv。...
2021-02-26 19:52:58
基恩士视觉一些工具确实有独道之处。例如“实时浓淡补正”和“渐变滤波器”有空时想研究一下它们怎么实现的。当然,网上是不可能有啥子资料的。对于“浓淡补正”,仅在ihalon中找到一份说明。上面这个halcon还是可以做到的。勇哥写了一段代码:read_image(Image, '1.png')
rgb1_to_gray(Image, GrayImage)
sobel_amp(Gra...
2021-02-24 20:45:06
直方图均衡简单、高效;但是,图像中不同的区域灰度分布相差甚远,对它们使用同一种变换常常产生不理想的效果;实际应用中,常常需要增强图像的某些局部区域的细节。为了解决这类问题,Pizer等提出了局部直方图均衡化的方法(AHE);AHE方法仅仅考虑了局部区域的像素,忽略了图像其他区域的像素,且对于图像中相似区域具有过度放大噪声的缺点;K. Zuiderveld等人提出了对比度受限CLAHE的图像增强方法...