project joee 开发日志(十)——串口设备配置
接上回串口识别和保存部分
# 串口配置项
# 可行性验证
先完成串口配置的保存,以便在配置文件中修改串口信息
首先在 Config.cs 中添加相应项
12//硬件串口号public Dictionary<string,string> DEVICE_COM = new Dictionary<string, string>();
1234567public class Settings{ ...; //串口号 public Dictionary<string, string> DEVICE_COM; ...;}
12345678910//读取配置文件 加载各类参数public void load(string file = "./config.toml"){ if (file.Length > 0 && File.Exists(file)) { ...; DEVICE_COM = settings.DEVIC ...
1.SimMatch:基于相似度匹配的半监督学习
# 摘要
在计算机视觉和机器学习研究领域,使用少量标记数据进行学习一直是一个长期存在的问题。本文提出了一种新的半监督学习框架 SimMatch,该框架同时考虑了语义相似度和实例相似度。在 SimMatch 中,一致性正则化将同时应用于语义级和实例级。鼓励同一实例的不同增强视图具有与其他实例相同的类预测和相似关系。接下来,我们实例化一个标记的内存缓冲区,以充分利用实例级的基本事实标签,并弥合语义和实例相似性之间的差距。最后,我们提出了一种可使这两个相似点相互同构变换的展开和聚合运算。通过这种方式,语义伪标签和实例伪标签可以相互传播,从而生成更高质量和更可靠的匹配目标。大量的实验结果表明,SimMatch 提高了跨不同基准数据集和不同设置的半监督学习任务的性能。值得注意的是,在 400 轮次的训练中,SimMatch 在 ImageNet 上 1% 和 10% 的标记示例中获得了 67.2% 和 74.4% 的 Top-1 准确性,显著优于基线方法,优于以前的半监督学习框架。代码和预先训练的模型可在 https://github.com/KyleZheng1997/simmatch 获得。 ...
project joee 开发日志(九)——相机增益和灯光控制插件
在 SerialDevice 插件中添加相机增益和光照自动控制功能
以下为实现方式
首先定义串口设备抽象类,为该类设置基本属性和构造函数
12345678910111213141516171819202122232425262728293031323334353637class SerialDevice{ //串口设备 public SerialPort serialPort; public ModbusSerialMaster master; //串口参数 public string portname; public int baunrate; public int databits = 8; public Parity parity = Parity.None; public StopBits stopbits = StopBits.One; //设备参数 public string DeviceName; public SerialDevice() { serialP ...
project joee 开发日志(八)——换卷截断绘图实现
在开发日志(七)中实现了换卷绘图的前置功能,
接下来实现具体绘图。
首先实现接口
12345678910//定义事件和处理函数public EvtHanlder hanlder{ get { EvtHanlder h = new EvtHanlder(); //添加相应处理事件 h.ReelChangeEvent += ReelChangeHandler; return h; } }
定义换卷处理事件
1234567public void ReelChangeHandler(object sender, CustomEventArgs Args) { //换卷事件处理 Console.WriteLine("Chart: Event ReelChange"); double line = (double)Args.msg; AddLineH(line);}
其中绘制横线函数
12345678910111213priva ...
project joee 开发日志(七)——数据相关问题
需求
具体描述
(待)实现方式(/ 思路)
图表添加切割线条
添加横向线条来指示每次换卷的截断位置
换卷事件中添加相应处理,并且使用图表控件的对应方法画出线条
先前添加了插件中的换卷事件处理。
换卷的处理函数中修改了数据库,而当该函数被外部插件(监听串口的线程)或者用户按钮事件调用时,如果任务不是处于暂停状态,会与数据处理线程的插入行函数(InsertRow) 产生冲突,两个线程会在相近的时间内访问数据库连接对象,相应的打开和关闭数据库过程会产生异常。
因为涉及到委托调用数据库更新操作,在主程序对数据库进行操作时,可能会出现冲突的情况,因此需要加上数据库的访问锁
12//数据库访问互斥readonly static object _locker_db = new object();
在创建数据库之后的所有对数据库操作添加如下互斥访问方式
12345//互斥访问数据库对象lock (_locker_db){ do();}
在主程序进行数据库插入时进行检测是否换卷
以上操作无效。
经过大量 debug 跟踪发现,出现异常的原因为数据库连接 Dbcn ...
Novel AI元素法典
https://docs.qq.com/pdf/DZWdGeWtTdkhVYnVr
project joee 开发日志(六)——自定义事件
之后开发日志不再按照日期命名
某个功能需求要求插件实现在主程序满足特定条件时触发函数调用,因此需要在框架和接口中添加自定义事件处理,通过事件触发的方式来在主程序中插入插件的功能函数。
# 自定义事件处理 定义
添加定义事件类 EvtHanlder
在插件接口类中添加属性 EvtHanlder: handler
1public EvtHanlder hanlder{get;}
添加事件处理机制,添加 CustomEvent 枚举类,用来描述主窗体的自定义事件,并将相应设置相应触发器,使得插件可以执行对应的事件 handler。
123456789101112131415//事件委托public delegate void DefaultEventHanlder(object sender, CustomEventArgs Args);public delegate void ReelChangeHandler(object sender, CustomEventArgs Args);public delegate void ...;//事件枚举类型public enu ...
project joee 开发日志 10.17
需求
具体描述
(待)实现方式(/ 思路)
图表添加指示线条
添加竖向可移动的线条来指出瑕疵落点位置
使用对应的控件方法处理
实现方案:
(插件实现)对图表控件添加事件控制逻辑
使用如下变量来存储状态信息和选中的线条对象
123456789//鼠标状态bool MouseDown = false;//命中状态bool StripSelected = false;bool AxisXSelected = false;bool AxisYSelected = false;//当前被选中的线条StripLine SelectedLine;
在 MouseMove 事件中的逻辑:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586MainWnd.ActiveControl = chart;HitTes ...
project joee 开发日志 10.15
需求
具体描述
(待)实现方式(/ 思路)
不同相机工作状态指示灯
字母代表不同的相机,相机工作对应的指示灯变为绿色
采集卡 API 检测相机状态
查阅采集卡的开发文档,对应 API
12345678910111213141516171819202122232425262728293031IKapGetCameraStatus 获取当前相机状态c++:int IKapGetCameraStatus(HANDLE hDev, int* npValue)对应c#:int IKapGetCameraStatus(IntPtr hDev, ref int npValue);参数说明hDev 设备句柄npValue 相机当前状态返 回 值0:调用失败1:调用成功说 明用户可以在任意时刻调用该函数查询当前相机状态判断采集发生异常的原因。如果返回 0 或相机状态 npValue 为 0xFFFFFFFF,则采集卡获取相机信号失败,用户可以在间隔一段时间后(e.g.100ms),重新调用该函数获取相机状态。相机状态 npValue 可能是下列比特位的异或组合:0x00000001 ...
高级软件体系结构分析课程作业,资料整理
# 概述
高级软件体系结构课程作业是找一个现成的软件来分析架构,需要:
1. 制作相应 PPT 并且演讲
2. 写 6000-8000 字小论文来描述该软件架构
本着面向搜索引擎 的分析方法,成功找到如下案例:
分析一个大型软件体系结构 —— 爱奇艺
link:https://blog.csdn.net/Wsk1234567/article/details/102697419
开始针对相应内容进行资料收集和整理,并恶补相关知识和内容。
其他相关资料
爱奇艺微服务标准技术架构实践 https://cloud.tencent.com/developer/article/1796751?from=article.detail.1896541
爱奇艺的架构到底有多牛逼?https://zhuanlan.zhihu.com/p/146119034
爱奇艺移动业务后台系统架构设计 https://wenku.baidu.com/view/7e25fc4fb42acfc789eb172ded630b1c58ee9b63.html
爱奇艺推荐系统架构与实践 https://blog.csdn.net/ ...