- 博客(59)
- 资源 (3)
- 收藏
- 关注
原创 vs2017远程调试实例
注意:一、关闭防火墙;二、生成文件bin文件夹内容(代码端和exe端)必须一致。这样,就可在代码端设置断点,调试执行exe端对应的软件。4、在代码端,vs调试=>附加到进程,进行以下设置。1、运行软件exe端找到vs安装路径中。2、打开msvsmon.exe,进行。3、打开目标exe端的exe软件,
2023-03-15 15:58:08
321
原创 设计模式之策略模式(strategy pattern)
通过对目标基类中的一些行为 分别封装起来(接口),进行不同的实现(实现接口),继承类通过调用基类方法 可以变化不同行为实现,做到行为分离于客户。
2023-03-04 11:36:58
114
原创 裁剪目标区域进行处理并粘贴回目标位置
halcon粘贴到目标位置原图代码结果原图代码dev_close_window ()read_image (Image, 'cat.jpg')get_image_size (Image, Width, Height)dev_open_window_fit_size (0, 0, Width, Height, -1, -1, WindowHandle)dev_display (Image)set_tposition (WindowHandle, 10, 10)write_string (W
2020-11-28 13:38:51
645
原创 C# ListBox、comboBox列表操作
C# ListBox列表赋值listBox1.Items.Add(istr);C# comboBox下拉列表获取所选值//方法1int comNum = comboBox1.SelectedIndex;istr = comboBox1.GetItemText(comboBox1.Items[comNum]);//方法2 int comNum = comboBox1.SelectedIndex; istr = comboBox1.Items[comNum].ToString();
2020-11-26 15:59:16
1135
原创 C# string byte[] char[] int 数据类型转换
// string => int string test = "12345"; int itest = Convert.ToInt32(test); //int=>string string strtest = itest.ToString(); //string=>byte[] byte[] byStr = new byte...
2020-11-22 17:40:32
217
原创 三菱PLC 计数器C
可编程控制器的计数器共有两种:内部信号计数器和高速计数器。内部信号计数器有分为两种: 16 位递加计数器和 32 位增减计数器。1、 16 位递加计数器设定值位 1~ 32767。其中, C0~ C99 共 100 点是通用型, C100~ C199 共 100 点是断电保持型。2、 32 位增减计数器设定值为- 2147483648~+ 2147483647,其中 C200~ C219 共 20 点是通用型, C220~ C234 共 15 点为断电保持型计数器。32 位双向计数器是递加型还是递
2020-11-20 17:00:31
7389
原创 三菱PLC 定时器
定时器作为时间元件相当于时间继电器,由设定值寄存器、当前值寄存器和定时器触点组成。在其当前值寄存器的值等于设定值寄存器的值时,定时器触点动作。故设定值、当前值和定时器触点是定时器的三要素。定时器累计 PLC 内的 1ms, 10ms, 100ms 等的时钟脉冲,当达到所定的设定值时,输出接点动作。定时器可以使用用户程序存储器内的常数 K 作为设定值,也可以用后述的数据寄存器 D 的内容作为设定值。这里的数据寄存器应有断电保持功能。定时器可以分为:常规定时器 T0~ T245积算定时器 T246
2020-11-20 15:34:30
6785
原创 三菱PLC 状态继电器
状态器 S 是构成状态转移图的重要软元件,它与后续的步进梯形指令配合使用。通常状态继电器软元件有下面五种类型初始状态继电器 S0~ S9 共 10 点。回零状态继电器 S10~ S19 共 10 点。通用状态继电器 S20~ S499 共 480 点。停电保持状态器 S500~ S899 共 400 点。报警用状态继电器 S900~ S999 共 100 点...
2020-11-20 15:09:54
1442
原创 三菱PLC基础知识 辅助继电器M
PLC 内部有很多辅助继电器,和输出继电器一样,只能由程序驱动,每个辅助继电器也有无数对常开、常闭接点供编程使用。其作用相当于继电器控制线路中的中间继电器。辅助继电器的接点在 PLC 内部编程时可以任意使用,但它不能直接驱动负载,外部负载必须由输出继电器的输出接点来驱动。辅助继电器 M 分类辅助继电器分以下三种类型:通用辅助继电器M0-M499,共 500 个点断电保持辅助继电器M500-M1023 及 M1024-M3071 共 2572 点。特殊辅助继电器M8000-M8255,共 25
2020-11-20 15:06:49
8914
原创 结合C#与halcon的图片循环播放方法实例
//方法1: //............. //方法1: ////打开窗口 HOperatorSet.OpenWindow(0, 0, hWindowControl1.Width, hWindowControl1.Height, hWindowControl1.HalconWindow, "", "", out windowHandle); HDevWindowStac
2020-11-17 15:21:54
1123
1
原创 结合QT与STM32的串口通讯之跑马游戏设计与实现
QT通讯界面游戏界面胜利界面通讯界面#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QtSerialPort/QSerialPort>#include <QtSerialPort/QSerialPortInfo>#include <QTimer>#include <QString>#include <QByteArray>#include
2020-11-16 16:32:44
1001
原创 C#串口通讯 基类
#region 指令基类 //协议:帧头 数据长度 指令编号 指令参数 校验和 帧尾 // 0x55 XXX XXX XXX XX 0xAA //数据个数:指令编号+ 指令参数 //校验和: (指令编号+ 指令参数)累加和,取低八位 public abstract class CEntityBase { [Category("通信协议")] [..
2020-11-16 00:13:33
266
原创 PLC基础操作知识
三菱PLC特殊软元件线圈得电,常开闭合,常闭断开M8000 程序开启,该线圈就得电M8002 程序开启,瞬间得电,复位触点M8005 电池报警触点M8013 秒脉冲(闪烁)亮0.5秒,灭0.5秒IO分配表X Y T D MLDLDIOUTSETRSETZRST区间复位LD = / > / >= / < / <= / <> 触电比较指令ALT 交替指令ADD D0
2020-11-15 00:10:53
1329
原创 手眼标定函数(eye -to-hand)
相机跟随机械手移动1、读相机初始内参2、创建标定模型3、设置相机初始参数4、设置描述文件5、设置优化方法6、找标定板7、获得标定板边缘轮廓8、获得标定板mark点9、读取机械手工具坐标系位姿10、设置标定数据11、进行手眼标定12、获取标定结果13、保存相机标定参数14、保存位姿矩阵15、位姿关系反转16、位姿转换1、读相机初始内参read_cam_par (DataNameStart + 'start_campar.dat', StartCamParam)2、创建标定模型create_calib
2020-11-13 20:26:23
1776
原创 C# 对话框选择文件 ComboBox数据添加删除 服务器检测客户端是否断开连接
对话框 ComboBox 对话框选择文件ComboBox数据添加删除定时器检测客户端是否断开连接对话框选择文件 private void buttonSelect_Click(object sender, EventArgs e) { OpenFileDialog openD = new OpenFileDialog(); openD.InitialDirectory = @"F:\"; open
2020-11-12 22:34:09
201
原创 C# 单例模式
/// <summary> /// 单例模式:1、将构造函数私有化 2、写一个静态方法创建类,使得可以用类名调用 /// 3、静态方法中使用静态类变量 /// </summary>1、将构造函数私有化 private Tcp() { InitializeComponent(); var timerClientCheck = new System.Timers.Ti...
2020-11-11 21:05:14
135
原创 C# 泛型相关
这里写目录标题Struct 结构体:同时几行更改代码的操作:上下对齐出,按住ALT同时光标下拉,可同时操作。字典泛型,带两个参数自定义泛型类泛型接口:反射:接口隔离原则:Struct 结构体:1、 结构体可以实现接口,不可继承基类。2、 结构体不可使用显示的无参数构造器struct student: ISpeak{//不可以显示的无参构成器// student() { };}3、 结构体可以使用显示的有参构造器public student(int ID, string Name){t
2020-11-10 20:16:42
135
原创 C# Socket编程 客户端 与 服务器
tcp Socket编程服务器客户端服务器代码客户端代码服务器1、创建套接字Socket,用于监听2、绑定Bind3、监听Listen4、等待连接Accept,得到通信套接字Socket5、使用通信套接字,发送接收数据Send Recevie客户端1、创建套接字 Soctket2、建立连接 Connect3、发送接收数据Send Recevie服务器代码using System;using System.Collections.Generic;using System
2020-11-09 17:50:47
310
1
原创 C# 接口与接口测试
接口 接口测试接口与接口测试接口接口测试代码接口接口测试接口与接口测试接口interface 内部函数默认public,无需说明接口测试1、新建 测试=》单元测试项目2、[TestMethod] 定义每个测试单元函数3、可使用Moq ,精简代码,不用写测试单元实现类Moq 添加方法:测试项目右键=》管理Nuget程序包=》搜索Moq=》安装下载=》using Moq;代码接口using System;using System.Collections.Generic;
2020-11-08 10:35:59
1513
原创 C#中抽象类、接口实例
抽象类 接口抽象类 接口接口抽象类代码抽象类 接口接口 关键字 interface 抽象类 关键字 abstract override 代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 抽象类{ class Program
2020-11-07 22:57:39
361
原创 C# 事件 委托 lambda表达式组合使用实例
事件 委托事件、委托 、lambda表达式委托事件lambda表达式实例代码事件、委托 、lambda表达式委托1、 Action Func2、自定义public delegate void OrderEventHander(Customer customer, OrderEventArgs e);事件1、事件拥有者 (对象1)2、事件 (方法1)3、事件响应者 (对象2)4、事件响应 (方法2)5、订阅lambda表达式(类型 变量1 ,类型
2020-11-06 22:16:58
279
原创 基于形状匹配的镜模位置定位
定位原图模板待定位图代码封装函数主函数结果原图模板待定位图代码封装函数***** dev_display_shape_matching_results (ModelID, 'lime green', Row, Column, Angle, 1, 1, 0)******************************NumMatches := |Row|if (NumMatches > 0) if (|ScaleR| == 1) tuple_gen_co
2020-11-05 23:10:06
344
原创 基于blob分析的焊盘定位
焊盘定位原图代码结果原图代码*这个示例程序演示了如何在图像中查找焊盘,*以及如何使用fit_rectangle2_contour_xld来确定它们的位置、旋转和大小。dev_update_window ('off')read_image (Image, 'pads')dev_close_window ()get_image_size (Image, Width, Height)dev_open_window (0, 0, Width * 2, Height * 2, 'black', W
2020-11-04 22:46:47
532
原创 基于组件的电子元器件匹配定位实例
定位原图模板待检测图代码结果原图模板待检测图代码*这个示例程序演示了如何使用基于组件的匹配来定位复合对象。*在这种情况下,应该在图像中找到几个模块,其中的关系,即,相对运动,由用户知道。*因此,创建组件模型只需要一个操作符* 1.) create_component_model*最后,查找组件模型* 2.) find_component_model* dev_update_off ()dev_close_window ()read_i
2020-11-03 19:51:02
503
原创 基于组件的label匹配定位实例
基于组件的匹配原图模板图训练图待匹配图代码结果原图模板图训练图待匹配图代码*这个示例程序显示了使用基于组件的匹配来定位复合对象。*在这种情况下,应该在图像中找到标签,其中组件和关系都不由用户知道。*因此,为了创建组件模型,需要三个操作符* 1.) gen_initial_components* 2.) train_model_components* 3.) create_trained_component_model* 最
2020-11-02 19:48:16
409
原创 模板匹配之logo定位
logo定位原图模板图定位图代码结果原图模板图定位图代码dev_update_window ('off')* 图像从文件夹中获取open_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'default', '1/pendulum.seq', 'default', -1, 1, FGHandle)grab_image (ModelImage, FGHandle)get_image_size (M
2020-11-01 09:38:26
386
原创 基于动态阈值的光滑表面划痕检测实例
划痕检测原图代码结果原图代码dev_close_window ()dev_set_line_width (5)dev_set_draw ('margin')dev_set_color ('red')read_image (Image, 'surface_scratch')get_image_size (Image, Width, Height)dev_open_window_fit_size (0, 0, Width, Height, -1, -1, WindowHandle)dev_
2020-10-31 13:17:14
563
1
原创 基于组件的开关状态匹配实例
基于组件的匹配原图模板训练图待匹配图代码结果原图模板训练图待匹配图代码*此示例演示如何按顺序使用基于组件的匹配*查找由两个组件组成的交换机的所有实例。这个*相对运动(关系)是自动训练只用一个*训练形象。因为模型图像显示开关已打开,所以*关闭一个显示关闭的图像*包括所有的相对运动。创建组件模型后*在运行时映像中可以找到交换机的实例。最后,角度*两个组件之间的差异可以用来决定*打开或关闭图像中显示的开关。dev_update_off ()dev_set_dr
2020-10-30 16:59:58
378
原创 结合模板匹配与测量的剃须刀缺陷检测
模板匹配与测量原图模板图检测图代码结果原图模板图检测图代码* ------------------------------------------------------------------------------------------------*此示例程序使用基于形状的匹配来对齐度量的roi*工具,然后检查单个刀片。*该程序有两种运行模式:(1)全仿射变换*(2)采用平移测度*修改下一行以在模式之间切换。*该参数控制是否使用translate_measureUSIN
2020-10-29 13:23:22
592
原创 基于halcon的ncc分类识别
ncc分类识别 及 ncc算子效率比较原图建模图识别图代码封装函数主函数结果识别结果效率比较结果原图建模图识别图代码封装函数***** dev_display_ncc_matching_results (ModelIds, ClassColors, Row, Column, Angle, Model)* NumMatches := |Row|if (NumMatches > 0) if (|Model| == 0) tuple_gen_cons
2020-10-28 20:35:49
1473
原创 基于halcon的特征匹配实例
特征匹配原图模板识别图代码结果原图模板识别图代码*这个例子在图片数据库中查找文章的页面。*第一步是训练不同的页面并创建模型。*然后搜索未知图像并检测出正确的文章页面。*请注意,这个例子需要一些内存来训练模型。dev_update_off ()dev_close_window ()read_image (Image, 'book/1')get_image_size (Image, Width, Height)dev_open_window_fit_image (
2020-10-27 20:59:43
3016
原创 结合C#与halcon的人脸识别系统开发与实现
简易人脸识别1、界面1.1人脸识别界面1.2制作模板界面2、代码2.1人脸识别界面关键代码2.1.1 开启摄像头2.1.2 实时2.1.3 采集2.2制作模板界面关键代码2.2.1 开启摄像头2.2.2 实时2.2.3 采集2.2.4 框选ROI2.2.5 确定1、界面1.1人脸识别界面1.2制作模板界面2、代码2.1人脸识别界面关键代码2.1.1 开启摄像头 private void buttonOpenFram_Click(object sender, EventArgs e)
2020-10-26 11:32:48
2529
2
原创 基于halcon的形状匹配之人脸识别
人脸识别原图(例)代码结果(例)原图(例)代码注:使用摄像头实时捕捉头像识别dev_close_window ()read_image (Image, '1')get_image_size (Image, Width, Height)dev_open_window_fit_size (0, 0, Width, Height, -1, -1, WindowHandle)dev_display (Image)dev_set_color ('red')dev_set_draw ('margi
2020-10-25 20:11:49
3812
3
原创 基于halcon的标定板Mark点测量(接上两篇)
标定板Mark点原图代码结果原图代码* 关闭当前的图像窗口dev_close_window ()* 以指定的位置、尺寸、背景颜色打开一个新的窗口dev_open_window (0, 0, 768, 576, 'black', WindowHandle)* 取消所有自动更新dev_update_off ()* 设置绘制模式dev_set_draw ('margin')* 设置显示线宽dev_set_line_width (3)* 设置显示字体set_
2020-10-24 18:14:09
2474
原创 基于halcon的标定板宽测量(接上篇)
标定板宽度测量原图代码封装函数主程序结果原图代码封装函数*******************************************************************************************************************get_measure_positions (Image, PlateRegion, CalibDataID, 0, Distance, Phi, RowCenter, ColumnCenter)
2020-10-23 19:59:16
1292
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人