摘要: 腐蚀:利用n*n的结构元素扫描图像的每一个像素,结构元素原点与扫描像素覆盖,进行“与”运算,如果都为1,则结果图像的该像素为1,否则为0。(收缩图像) 膨胀:利用n*n的结构元素扫描图像的每一个像素,结构元素原点与扫描像素覆盖,进行“与”运算,如果都为0,则结果图像的该像素为0,否则为1。(扩大图像 阅读全文
posted @ 2019-08-29 15:14 Z大山 阅读(2349) 评论(1) 推荐(0) 编辑
摘要: Region特征分为三部分(1)基础特征:region面积,中心,宽高,左上角右下角坐标,等效椭圆长半轴短半轴方向,洞数及其面积,粗糙度,联通数,最大半径等。(2)开关特征:外接圆半径,内接圆半径,圆度,紧密度,长度,矩形度,凸型,偏心率,蓬松度,外接矩形的方向和两边长度等。(3)几何矩特征:二阶矩 阅读全文
posted @ 2019-08-29 11:34 Z大山 阅读(2036) 评论(0) 推荐(0) 编辑
摘要: auto_threshold(Image : Regions : Sigma : ) * 对单通道图像做自动阈值(灰度直方图确定)分割Sigma:灰度直方图高斯光滑核(标准差),光滑消除噪声,并且分割区域 binary_threshold(Image : Region : Method, Light 阅读全文
posted @ 2019-08-13 21:31 Z大山 阅读(4164) 评论(0) 推荐(0) 编辑
摘要: 目录导航 Region初步理解 XLD初步理解 XLD合并操作 XLD转换操作 XLD分割操作 XLD拟合操作 HSV通道 数字图像数据可以用矩阵表示。 数字图像分类: 根据每个像素信息不同,通常将图像分为:二值图,灰度图,RGB图像 1.二值图:每个像素只有0(黑)1(白)两种颜色的图像成为二值图 阅读全文
posted @ 2019-08-12 15:22 Z大山 阅读(2933) 评论(0) 推荐(0) 编辑
摘要: 临界区:描述一段在同一时候只能被一个线程访问的代码。 1.Lock关键字实现临界区,通过"对象锁"的方式,只能锁定引用类型不能锁定值类型,其内部使用Monitor类实现的。例如: lock(_locker) { DoSomething(); } // 等效于 System.Object obj = 阅读全文
posted @ 2019-07-24 00:27 Z大山 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Double-Checked Locking 静态初始化 延迟初始化 .Net 4's Lazy<T> type 以上4中方式都是线程安全的单例实现代码,推荐使用Lazy<T>的方式简单且性能良好。 阅读全文
posted @ 2019-07-19 23:37 Z大山 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 主窗体Form1 弹窗窗体Form2 在主窗体Form1的Button点击事件中加入: 在弹窗窗体Form2中加入: 阅读全文
posted @ 2019-07-11 11:23 Z大山 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 简单介绍一下log4net的主要组成,详细说明可以参考https://blog.csdn.net/binnygoal/article/details/79557746 1.Logger Logger是直接和应用程序交互的组件,是负责日志的记录者,可以同时存在多个Logger,然后由它引用的Appen 阅读全文
posted @ 2019-07-05 16:10 Z大山 阅读(3170) 评论(1) 推荐(0) 编辑
摘要: 如果需要 I/O 绑定(例如从网络请求数据或访问数据库),则需要利用异步编程。 还可以使用 CPU 绑定代码(例如执行成本高昂的计算),对编写异步代码而言,这是一个不错的方案。 异步模型的基本概述 异步编程的核心是 Task 和 Task<T> 对象,这两个对象对异步操作建模。 它们受关键字 asy 阅读全文
posted @ 2019-06-20 23:48 Z大山 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 策略模式 定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 设计原则:将变化部分提取出来进行封装、针对接口编程、多用组合,使用组合建立系统具有很大的弹性,不仅可将算法族封装成类,更可以“在运行时动态地改变行为”。 观察模式 有新类型的观察者出现,主题不需要 阅读全文
posted @ 2019-06-20 23:48 Z大山 阅读(216) 评论(0) 推荐(0) 编辑