摘要: 1 窗口介绍 打开Halcon 的主界面主要有图形窗口、算子窗口、变量窗口和程序窗口,可拖动调整位置,关闭后可在窗口下拉选项中找到。 2 显示操作 关闭-dev_close_window() 打开-dev_open_window (0, 0, 712, 512, 'black', WindowHan 阅读全文
posted @ 2022-11-03 15:17 htiu 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 在做项目时,之前使用的是某康的智能读码器,综合考虑成本,可通过相机拍照来读取图片的二维码,我这边用Halcon来实现。 Halcon代码如下: 1 *创建模型 2 create_data_code_2d_model('Data Matrix ECC 200', [], [], DataCodeHan 阅读全文
posted @ 2022-11-03 11:13 htiu 阅读(702) 评论(0) 推荐(0) 编辑
摘要: 最近接到业务需求,对接外包算法的http接口,了解了gRPC的使用,这里以一个简单的例子说明。 1 新建程序 新建gRPCClient和gRPCServer 2 添加引用 打开NuGet,安装Grpc、Google.Protobuf和Grpc.Tools 3 定义服务 定义LogService.pr 阅读全文
posted @ 2022-10-29 10:22 htiu 阅读(62) 评论(0) 推荐(0) 编辑
摘要: Lock是将一段代码定义为临界区,临界区中的代码在同一时刻只能有一个线程访问, 当临界区代码执行时,其他线程调用会被阻塞,需等待资源释放。 语法: private object locker=new object(); void Method() { lock(locker) { 代码块… } } 阅读全文
posted @ 2021-04-14 16:06 htiu 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 什么是进程 进程是操作系统进行资源分配和调度的基本单位,进程是独立运行的程序 进程的基本用法 Process 是System.Diagnostics命名空间中的类 常用属性 常用方法 实例应用 什么是线程 线程是进程的执行单元,一个进程至少包含一个线程 多线程就类似排队买票,单线程只有一个窗口开放, 阅读全文
posted @ 2021-04-07 08:38 htiu 阅读(63) 评论(0) 推荐(0) 编辑
摘要: Code First 通过代码反向生成数据库,无需关心数据库方面 1 新建一个控制台项目 2 打开NuGet程序包管理,添加EntityFramework 添加完成后查看是否有如下两个引用 3 代码编写及配置 新建Goods类 1 class Goods 2 { 3 [Key] 4 public i 阅读全文
posted @ 2021-02-24 16:09 htiu 阅读(65) 评论(0) 推荐(0) 编辑
摘要: EDM entity data model 实体数据模型 Conceptual models 概念模型 Mappings 连接 Storage models 存储模型 Orm object relational mapping 对象关系映射 EF entity framework 是基于ADO.Ne 阅读全文
posted @ 2021-02-06 10:15 htiu 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 分页 Skip Take var query = DataSource.Skip((PageNo-1)*PageSize).Take(PageSize).ToList(); Skip 跳过多少个元素 Take取出多少个元素 SkipWhile 逐一判断直到不满足条件,将该元素及其后的元素取出 Tak 阅读全文
posted @ 2021-02-02 14:06 htiu 阅读(82) 评论(0) 推荐(0) 编辑
摘要: LINQ Language Integrated Query 语言集成查询 举个例子 1 int[] scores = new int[] { 65,50,45,90,87,65}; 2 Console.WriteLine("高分有:"); 3 //方法一 4 var highscore = fro 阅读全文
posted @ 2021-01-26 16:33 htiu 阅读(132) 评论(0) 推荐(0) 编辑
摘要: serialize(序列化)和deserialize(反序列化) 常用的两种序列化方法二进制和xml BinaryFormatter 代码示例 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 usi 阅读全文
posted @ 2021-01-16 16:38 htiu 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 抽象类 abstract 修饰 抽象类是一种比较特殊的类 特殊性: 1 不能被实例化 2 抽象类可包含抽象方法和属性,也可以包含非抽象的成员,但抽象方法一定存在于抽象类中 3 抽象基类的方法的抽象成员必须在具体派生类中重写(override) 4 抽象类满足类的单一继承和继承传递性 1 public 阅读全文
posted @ 2021-01-11 11:15 htiu 阅读(106) 评论(0) 推荐(0) 编辑
摘要: virtual 虚拟的 被virtual标记的方法或属性,本质上是在内存空间中做了定义,但其对应的地址是不固定的,是在运行时根据规则来判定的。 A类 对象名=new B类(),A类叫做申明类,B类叫做实例类 规则: 1 当调用方法时,先检查在申明类中该方法是否是virtual,如果不是虚方法则直接执 阅读全文
posted @ 2021-01-08 16:38 htiu 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 多态-不同对象作用于相同方法,呈现的结果不同 表现形式为A类 对象名=new B类() A类和B类之间存在直接或间接的继承关系,A类 叫做申明类,B类叫做实例类 运行时多态:重载(overload) 编译时多态:重写(override) 重载:方法名相同,形参的类型个数顺序不同,只与形参有关,与返回 阅读全文
posted @ 2021-01-06 12:45 htiu 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 继承-类似于现实世界中的子承父业,实现字段、属性、方法(构造方法例外)的继承, 但私有的是无法访问的,将类和类之间进行关联,增加系统的耦合性,被继承的类-父 类或基类,继承的类-子类或派生类。 代码重用性-子类继承父类的非私有的成员 代码例子 1 class People 2 { 3 private 阅读全文
posted @ 2021-01-04 10:34 htiu 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 封装是对方法、字段、属性等成员的一种保护,是将客观的现实世界抽象为类、对象等,将操作等 集中在一个类中,通过实例化的对象调用属性、方法,而不需要连接类内部的实现,且类内部的改 变不会影响对象对属性、方法的调用 C#中常用的修饰符 public 公共的,人和地方都能访问 private 私有的,只能在 阅读全文
posted @ 2021-01-04 10:31 htiu 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 常量的定义 常量一经赋值不能再改变其值 const 静态常量 在类型前加const修饰,在定义时为其赋值,因为在静态常量是在编译时进行解析,将常量的值替换初始值 readonly 动态常量 在类型前加readonly修饰,定义时默认有初始值,在运行时可进行赋值 由于const修饰是静态常量,所以被s 阅读全文
posted @ 2020-12-28 11:36 htiu 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 值传递和引用传递 形参:方法定义处定义的参数 实参:方法调用时提供的参数 值传递:方法传递值,值传递实参和形参都会在栈中占用内存,相互之间并不影响,而是形参限制了实参的类型, 形参作为临时变量在调用结束后即销毁。 引用传递:方法传递引用,引用传递实参和形参在堆中占用同一块内存,形参的改变会影响实参的 阅读全文
posted @ 2020-12-24 17:04 htiu 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 首先看几个单词 Enum 枚举类型 IEnumerator 枚举器 IEnumerable 可枚举 从单词上大概可以看出IEnumerator是实际枚举器 查看源码 源码分析: 1 IEnumerable接口仅定义了一个返回IEnumerator类型的GetEnumerator方法 2 IEumer 阅读全文
posted @ 2020-12-23 15:44 htiu 阅读(111) 评论(0) 推荐(0) 编辑
摘要: struct 和 class的异同 一图理解struct和class的异同 1 相同点 A struct和class是同一等级的,属于命名空间下 B 可以定义字段、属性、方法、构造器等 C 有默认的无参构造方法 2 不同点 A 定义语法关键字不同(struct class) B struct是值类型 阅读全文
posted @ 2020-12-22 08:59 htiu 阅读(289) 评论(0) 推荐(0) 编辑
摘要: string 字符串 定义语法:string s=”abc” string str=new string(new char[]{‘a’,’b’,’c’}) string和String string is an alias for String in the .Net Framework string 阅读全文
posted @ 2020-12-22 08:58 htiu 阅读(92) 评论(0) 推荐(1) 编辑
摘要: 1 特点 Sqlsugar是一款轻量级的ORM,支持DB First、Code First、Model First,大量语法糖,Lambda表达式,支持大部分数据库。 2 sqlsugar连接 1 public static SqlSugarClient SqlSugarClient 2 { 3 g 阅读全文
posted @ 2022-11-15 17:56 htiu 阅读(221) 评论(0) 推荐(0) 编辑
摘要: RestSharp是一个轻量级HTTP客户端库,主要功能是通过HTTP对远程资源进行同步异步调用,可将请求主体序列化为JSON或XML并反序列化相应。 请求主体的方式:JSON、XML和表单数据 参数类型:查询、URL段、标头、cookie、正文 官方的例子如下: 1 using RestSharp 阅读全文
posted @ 2022-11-02 16:20 htiu 阅读(1176) 评论(0) 推荐(0) 编辑