自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 c#防呆设计

防呆设计

2024-04-09 18:07:35 331

原创 USB定位检测

如图,想要检测USB内芯位置是否处于接口的中心,必须要同时拍出内芯的边沿和接口边沿的位置,我们可以利用内芯白色边沿来确定前后的位置,利用内芯的两侧来确定左右的位置。由于内芯位置较接口位置更低,并且边沿有倒角,想要拍出比较真实的边沿,必须使用一个低角度环形光。至于精度要求,我们可以选用500像素的相机,把视野尽量缩小,并且控制像素偏差,具体结果另行计算。1、精度要求:检测USB接口内芯位置是否处于接口的中心,检测精度0.05mm。算上最大5个像素偏差:0.004*5=0.02mm﹤0.05mm,满足要求。

2024-01-08 19:46:18 411

原创 镜头选型和计算

镜头选型

2024-01-07 15:27:44 1046

原创 机器视觉测量项目书

硬件配置:品牌:研华CPU:INTEL I5处理器;硬盘:500G;内存:4G;显示器:17寸;软件配置:开发工具:Visual Studio 10;视觉库: Halcon12;操作系统:WIN7 64位;

2024-01-06 17:34:03 447

原创 教你如何快速了解S7-1200 PLC存储区的寻址方式

西门子plc数据类型

2023-12-31 13:59:49 788

原创 运动控制卡连接伺服电机的6个步骤

伺服的使用

2023-12-30 12:38:39 525

原创 多线程详解

【1】资源使用通知开销:我们运行一个程序,通常会加载很多托管的和非托管的dll,exe,资源,元数据…通过观察,当前我的计算机是4核四线程,如果超过4个线程,比如5个,必然会有一个thread休眠30ms,也就是时间片切换,来实现调度。【1】计算机中一般会运行很多程序,会有很多对应的进程,进程的数量都会超过CPU的个数,如果所有的任务都通过进程来切换,会非常的耗时。就是thread这个线程会将stop加载到Cpu Cache中,而主线程中,又修改了stop的数据,所以thread是无法知道的,

2023-12-29 08:29:15 760

原创 为什么要使用线程?

每个进程至少包括一个应用程序域,在托管代码运行时,CLR还会额外的创建《系统域》和《共享域》,存放应用程序需要的资源。特殊情况:在一个进程中,我们通常会调用另一个应用程序,比如在VS中,对应devenv进程,创建一个记事本进程。这样的话,就能够减少进程的总数,提高系统性能,减轻进度调度的压力。为了解决这个问题,.NET中引入应用程序域(AppDomain),并且将它设置在进程和线程之间。一个应用程序对应一个进程,每个进程会映射对应的物理内存,从而隔离程序。如果单独开一个进程,性能开销是比较大的。

2023-12-29 08:26:20 349

原创 分辨率、精度和公差之间的关系

区别与上面介绍的分辨率,我们这里所介绍的是「工业相机的分辨率」,它由工业相机所采用的芯片分辨率决定,是芯片靶面排列的像元数量,即表示相机每次采集图像的像素点数(Pixels),下面以Basler acA2440-75um型号的相机为例:图中相机芯片的水平/垂直分辨率指的是相机采集到的图像水平方向有2448个像素,垂直方向有2048个像素,那么相机的分辨率为2448(px)×2048(px),得到相机的分辨率为500w像素。

2023-12-24 14:27:00 1972

原创 AutoResetEvent 类讲解

此外,如果在 Set 没有线程等待且 AutoResetEvent 已发出信号时调用 ,则调用不起作用。调用 Set 信号 AutoResetEvent 以释放等待的线程。从第一个 AutoResetEvent释放线程后,它们等待以非信号状态创建的另一个 AutoResetEvent 线程。AutoResetEvent如果 处于非信号状态,线程将阻止,直到调用 AutoResetEvent.Set。如果线程在 处于信号状态时AutoResetEvent调用 WaitOne ,则线程不会阻止。

2023-12-21 17:12:57 1170

原创 强类型委托的理解和分析

Action 委托的变体可包含多达 16 个参数,如 Action<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>。Func 委托的变体可包含多达 16 个输入参数,如 Func<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,TResult>。通过包含和实施添加到委托对象的调用列表的方法的类型安全性,具体的委托类型将变得更加有用。对任何返回值的委托类型使用一种 Func 类型。

2023-12-21 17:02:57 346

原创 委托和事件的区别

对不熟悉 .NET Core 平台的开发人员而言,在基于 delegates 的设计和基于 events 的设计之间做出选择是困难的。委托或事件的选择通常比较难,因为这两种语言功能很相似。事件甚至是使用委托的语言支持构建的。它们都提供了一个后期绑定方案:在该方案中,组件通过调用仅在运行时识别的方法进行通信。它们都支持单个和多个订阅服务器方法。这称为单播和多播支持。二者均支持用于添加和删除处理程序的类似语法。最后,引发事件和调用委托使用完全相同的方法调用语法。它们甚至都支持与?

2023-12-21 16:59:45 321

原创 C#中的事件

和委托类似,事件是后期绑定机制。实际上,事件是建立在对委托的语言支持之上的。事件是对象用于(向系统中的所有相关组件)广播已发生事情的一种方式。任何其他组件都可以订阅事件,并在事件引发时得到通知。你可能已在某些编程中使用过事件。许多图形系统都具有用于报告用户交互的事件模型。这些事件会报告鼠标移动、按钮点击和类似的交互。这是使用事件的最常见情景之一,但并非唯一的情景。可以定义应针对类引发的事件。使用事件时,需要注意的一点是特定事件可能没有任何注册的对象。必须编写代码,以确保在未配置侦听器时不会引发事件。

2023-12-21 16:55:16 333

原创 视觉光源应用与打光技巧

推荐使用OPT公司自主研发生产的光源、控制器,采用外部触发或软件触发方式,可提高光源利用效率及延长光源使用寿命。目前尚没有一个通用的机器视觉照明设备,因此针对每个特定的案例,要设计合适的照明装置,以达到最佳效果。大功率的灯珠功耗低,光效高且节能环保;1. 对比度:对比度明显,目标与背景的边界对比清晰,要求目标与背景灰度值至少相差30以上;3. 真实性:与颜色有关的还需要颜色真实,亮度适中,不过度曝光,过度像素满足精度检测要求;1.响应速度快:LED光源的响应时间一般为纳秒级,比其他光源具有更快的响应速度;

2023-12-21 14:17:21 416

原创 镜头分类与选型

对于精密测量的应用需求则考虑选择远心镜头,因为普通镜头成像时,由于不同工作距离造成放大倍率不一致而造成视差,即产生近大远小的效果,从而影响测量精度。(2)选择最接近的焦距,f′取50mm,根据确定的焦距,计算新的工作距离,可得:新的工作距离≈(水平视场÷芯片)×焦距=(180÷12.8)×50=703.125mm,新的工作距离<800mm,因此所选定的焦距可行。在实际选择相机和镜头时,要注意所选择镜头的最大兼容芯片尺寸要大于或等于所选择的相机芯片的尺寸。按焦距分类:短焦距镜头、中焦距镜头、长焦距镜头。

2023-12-21 14:06:04 419

原创 快速调试伺服电机

以下的线是必须要接的:控制卡的模拟量输出线、使能信号线、伺服输出的编码器信号线。用外力转动电机,检查控制卡是否可以正确检测到电机位置的变化,否则检查编码器信号的接线和设置。再次通过控制卡将伺服电机使能信号放开,在控制卡上输入一个较小的比例增益,至于多大算较小,这只能凭感觉了,如果实在不放心,就输入控制卡能允许的最小值。使用控制卡或伺服上抑制零飘的参数,仔细调整,使电机的转速趋近于零。细调控制参数,确保电机按照控制卡的指令运动,这是必须要做的工作,而这部分工作,更多的是经验,这里只能从略了。

2023-12-20 08:39:19 329

原创 VisionPro控件的使用 C# 开发

1.工具设置窗体CogPMAlignEditV2 [ 模版匹配设置窗体控件 ]CogPMAlignEditV2.Subject : 工具关联对象如:CogPMAlignEditV2.Subject = CogPMAlignTool1;CogPMAlignTool1 的类型为CogPMAlignToolCogFixtureEditV2 [ 坐标定位设置窗体控件 ]CogFixtureEditV2.Subject : 工具关联对象。

2023-12-19 19:04:31 1863

原创 多线程同步

可是Thread.Abort方法将线程的状态置为ThreadState.AbortRequested后就立马返回了,而线程真正结束后的状态应该是ThreadState.Aborted,所以一定要注意在调用了Thread.Abort方法后,要记得循环检查Thread.ThreadState属性的值或者调用Thread.Join方法来确保被终止线程已经真正停止,只有当Thread.ThreadState属性为Aborted或Thread.Join方法返回时,才表示线程真正结束了。mutex 与监视器相似;

2023-12-19 18:48:23 853

原创 设计模式—单例模式

另外一点就是,如果单例过程中操作的是一个数组或者其他对象,那么在实例化后如果需要进行赋值等运算操作的,那么其他线程在进行Null Check的时候就不会再次进入,如果其他线程调用了这个单例对象的某个属性,这极有可能出现难以预测的bug。那么有没有其他方式优雅而又安全的实现单例模式呢,答案是有的,那就是通过Lazy方式,Lazy方式可以拥有更高的性能,因为实例只有在使用的时候才会真正创建对象,这就在很大程度上减少了内存的占用,当然,比较如果是比较简单的单例创建,可以忽略这条不利影响。它不像其他实现那样懒惰。

2023-12-19 16:12:25 818

原创 激光焊接抖动功能操作

提高参数中抖动频率的数值,水平八字变密集,降低参数中抖动频率的数值,水平八字变稀疏。提高参数中直径的数值,正弦曲线振幅变大,降低参数中直径的数值,正弦曲线振幅变小。提高参数中抖动频率的数值,正弦曲线变密集,降低参数中抖动频率的数值,正弦曲线变稀。提高参数中直径的数值,垂直八字幅度变大,降低参数中直径的数值,垂直八字幅度变小。提高参数中抖动频率的数值,垂直八字变密集,降低参数中抖动频率的数值,垂直八字变稀。提高参数中直径的数值,水平八字幅度变大,降低参数中直径的数值,水平八字幅度变小。

2023-12-19 15:53:47 407

原创 相机标定的过程

首先还是9点标定(夹爪中心来做),然后用夹爪带着一个mark点(能被相机看到的),在相机视野内走3个点(mark点在9点标定所在平面高度),跟前面9点标定将这三个像素坐标点变换为机械坐标,拟合为圆,圆心即为实际旋转中心点,由此构建出实际旋转中心点与夹爪中心点坐标关系(或者长度关系)。9点标定是一种二维手眼标定方法,其中的重要假设为标定板所在平面与实际检测物体处于同一平面,相机所在平面与标定板平面的关系固定不变,可以相对标定板所在平面xy方向平移,z方向保持不变。普通9点标定(像素坐标->机械坐标);

2023-12-18 18:46:05 338

原创 金橙色板卡激光打标机系统参数设置方法步骤教程教学详细说明

产品(产品)材料图片是(所有透明塑料(相关事物:塑料)材料图片),中间包装印刷(乳白色)表面喷雾(灰色 - 灰色印刷墨水),激光打标实际效果应暴露,并且不能在其旁边传输。例如:35US C:添加电荷的特定方法:通常是单行添加电荷。激光打标机它可以根据激光发电机不同的不同激光打标机,半导体材料激光打标机,yag激光打标机。激光打标机它可以根据激光发电机不同的不同激光打标机,半导体材料激光打标机,yag激光打标机,光纤激光打标机本质自动电子计算机自动控制系统是所有激光器的管理中心刻有操纵和指挥官。

2023-12-18 18:33:17 593

原创 Task.Factory.StartNew()

【代码】Task.Factory.StartNew()

2023-12-18 18:23:41 444

原创 Task并行执行多个任务

static async Task test() { Task[] tasks = new Task[3]; tasks[0] = wait(); tasks[1] = wait2(); tasks[2] = wait3(); await Task.WhenAll(tasks); Console.WriteLine("main");

2023-12-18 13:31:32 293

转载 c# Task返回值

需要返回一个值时,使用Task.FromResult方法,Task.FromResult(value)就可以了。,那么就是异步返回方法,如果是异步返回方法,需要返回一个值时,直接return value,就可以了。Task方法如果没有加。Task方法如果加了。

2023-12-18 11:24:58 697

转载 Task.Factory.StartNew()

c# Task讲解

2023-12-18 10:21:04 30

原创 多按钮触发事件

/{// {// }//}

2023-12-17 10:17:06 357

原创 光源选型原理及使用方法光源选型原理及使用方法

白色光源通常用色温来界定,色温高的颜色偏蓝色(冷色,色温>5000K),色温低的颜色偏红(暖色,色温<3300K),界于3300与5000K之间称之为中间色,白色光源适用性广,亮度高,特别是拍摄彩色图像时使用更多。红色光源的波长通常在600-720之间,其波长比较长,可以透过一些比较暗的物体,例如底材黑色的透明软板孔位定位、绿色线路板线路线路检测,透光膜厚度检测等,采用红色光源更能提高对比度;绿色光源波长510-530,界于红色与蓝色之间,主要针对产品:红色背景产品,银色背景产品(如钣金,车加工件等)。

2023-11-05 20:44:56 53

原创 机器视觉光源选型

我们称它为“复色光”。人的眼睛有时会被白己的感觉所愚弄,感到差异不大,但在我们拍摄照片上,可以看到最直接的效果,比如在睛空下拍摄的照片,可能会发蓝发冷,而在灯光下拍摄的照片(不打开闪光灯,色温较低),会呈现明显暖调的橙红色。当光源所发出的光的颜色与黑体在某一温度下辐射的颜色相同时,黑体(黑体是在所有的电磁波长100%放射能量的物体,它是在物理学和工程学的理论上的理想)的温度就称为该光源的色温,用绝对温度K (kelvim)表示。对位速度快,视场大,精度高,体积小,便于检测集成,亮度高,可选配辅助环形光源。

2023-11-05 17:23:39 69

空空如也

空空如也

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

TA关注的人

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