- 博客(22)
- 收藏
- 关注
原创 add_metrology_object_circle_measure (对齐测量模型)
add_metrology_object_circle_measure (对齐测量模型)
2022-12-05 11:00:32 1193 2
原创 add_metrology_object_circle_measure (无对齐测量模型)
add_metrology_object_circle_measure (无对齐测量模型)
2022-12-05 09:44:43 698 1
原创 add_metrology_object_line_measure 抓线(对齐测量模型)
add_metrology_object_line_measure 抓线(对齐测量模型)
2022-12-01 13:48:45 628
原创 多线程和异步编程的那些事 (四)
1.进程:一个正在运行的程序就是一个进程。操作系统根据进程分配各种资源(内存...)2.线程:操作系统为了提高效率会将一个进程分成多个线程,并按照线程来分配CPU执行时间;3.时间分配:比如A进程10个线程,B进程2个线程,操作系统会按照12个线程来分配CPU时间,这样A进程有机会获得CPU概率就大。4.线程特点:在具有多个CPU计算机中,可以并行执行。如果单个CPU,则会出现假象,实际为CPU时间片的切换。5.单线程:只有一个线程的进程,称为单线程进程。拥有多个线程的进程称为多线程进程。
2022-01-07 08:36:59 101
原创 多线程和异步编程的那些事 (三)
1.异步编程是建立在委托 基础上的一种编程方法。2.异步调用的每个方法都是在独立的线程中执行。因此本质上就是一种多线程,是一种简化版本的多线程技术。3.比较适合在后台执行较为耗时的简单任务,并且要求相互独立,任务中不能用直接访问可视化控件。4.如果后台任务要求必须按照特定顺序执行,或者必须访问共享资源,则异步编程不适合,而应该直接采用多线程开发技术。**************************************例程********************************
2022-01-05 08:45:12 136 1
原创 多线程和异步编程的那些事 (二)
回调函数:1.通过委托异步调用方法2.委托类型的Begininvoke(<输入和输出变量>,AsyncCallBack CallBack,Object asyncState)方法3.返回值:IAsyncResult-->异步操作状态接口,封装了异步执行中的参数。4.委托类型的EndInvoke()方法:借助于IAsyncResult接口对象,不断查询异步调用是否结束。该方法之道被异步调用的方法所有参数,异步调用完毕后,取出异步调用结果作为返回值。5.//3.获取异
2022-01-04 09:47:53 158
原创 多线程和异步编程的那些事 (一)
首先理清多线程 异步 并行 并发的概念:异步和多线程:异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理。并行和并发:并发当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起
2021-12-31 09:16:50 259
原创 委托 (匿名方法 Lambda表达式,和各种泛型委托) (二)
泛型委托:泛型委托本质上和泛型方法非常相似,泛型委托关联的时候,可以是具体方法,匿名方法,lambda表达式;泛型委托的形式:public delegate T1 MyGenericDelegate<T2>(T2 param1,T2 param2)泛型委托作为方法参数,实际上传递的是一个具体方法或一个lambda表达式(多态的一种表现)*************************************************************************
2021-12-28 09:11:35 220
原创 委托 (匿名方法 Lambda表达式,和各种泛型委托) (一)
概念理解:委托解决的是对象的逆向传递问题,是方法的变量。匿名方法概念:一个方法没有具体的名称,而只有关键字Delegate,方法参数,方法体。优点:具体方法和委托直接关联到一起,基于委托只需要一个方法时,节约代码。Lambda表达式,可以进一步精简代码。【1】Lambda表达式中,参数可以是明确类型,也可以是推断类型。【2】如果是推断类型,则参数类型可以由编译器上下文自动推断出来。【3】运算符=> 读作goes to,运算符左边输入参数(如果有),右边是表达式或语句块。
2021-12-27 20:25:22 241
原创 9点标定源码
*******************************创建空数组用来存放模板的中心ImageXPix:=[]ImageYPix:=[]dev_get_window (WindowHandle)******************************确定好相机移动的九个物理坐标数组WorldX:=[5,5,5,0,0,0,-5,-5,-5]WorldY:=[-5,0,5,-5,0,5,-5,0,5]*开始标定i:=0**********8open_framegrabb.
2021-12-15 09:37:43 1265
原创 Halcon和C# 数据类型比较
halcon有两种基本的数据类型:图形数据(iconic)以及控制数据(control).上表是Halcon和C#相应数据类型对比。关于具体运用下一次分享。
2021-12-15 09:17:30 304 1
原创 Halcon 自定义函数的封装步骤
1.上图是笔者准备封装的一段halcon代码。2.选中要封装的代码 右键创建新函数3.进入参数 对封装的变量 增删改。4.在参数文档里对参数类型和初始值进行定义。
2021-12-14 14:11:08 776
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人