Commit Graph

278 Commits

Author SHA1 Message Date
李伟 e233f0fd96 feat: 新增边缘查找拟合圆工具 + 优化拟合交互
- 新增 EdgeCircleFitProcessor 算子(卡尺径向边缘检测 + Kasa/RANSAC圆拟合)
- 新增 EdgeCircleFitPanel 辅助面板(拖拽画圆交互)
- Ribbon快捷工具组新增「圆拟合」按钮
- 拟合后卡尺保持可编辑状态,支持调整后重新拟合
- 每次拟合自动清除上一次结果
- 拟合方法固定RANSAC,UI不暴露选择
- 结果标注简化:直线显示角度,圆显示半径和圆心坐标
- 不再显示内点/外点小圆点
- 添加中英文本地化资源
2026-05-18 15:03:34 +08:00
李伟 9c639f27cd 导航相机相关Log改为英文;添加一些图标 2026-05-18 13:55:24 +08:00
李伟 843c4d67a6 feat: 集成海康威视相机接口
- 新增 HikvisionCameraController 实现 ICameraController
- CameraFactory 支持 Basler/Hikvision 动态切换(config.json 配置)
- PixelConverter 支持 Bayer RG/GR/GB/BG 8-bit 解码
- 修复采集链断裂问题(finally 中触发下一帧)
- 相机设置面板:宽高和像素格式改为只读显示
- NavigationPropertyPanelViewModel 日志和状态文本改为英文
- 添加 MvCameraControl.Net.dll 到 ExternalLibraries
2026-05-18 13:11:26 +08:00
李伟 12938764b1 feat: 新增边缘查找拟合直线工具
- 新增 EdgeLineFitProcessor 算子(卡尺边缘检测 + 最小二乘/RANSAC直线拟合)
- 新增 EdgeLineFitPanel 辅助面板(参数配置、交互绘制卡尺)
- 支持任意角度旋转的卡尺区域,4个手柄控制长度/宽度
- 支持多次拟合累积显示,关闭面板后结果保留
- 极性箭头标识搜索方向(B→D / D→B / 双向)
- 卡尺亮绿色1px,拟合直线蓝色2px
- Ribbon快捷工具组新增「直线拟合」按钮
- 添加中英文本地化资源
2026-05-15 15:44:18 +08:00
李伟 7447463c1a feat: ROI 对齐工具与 TM_Result 位姿扩展
- Core: Pose2D、Point2D、RoiAlignment、AlignmentRecipe(示教多边形→运行图刚体变换)

- Processors: TemplateMatchAlignmentExtensions.ToPose2D / 四角与中心一致性校验

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 14:31:48 +08:00
李伟 9634e42396 ui: 模板助手按钮布局与 Segoe MDL2 图标
- 单张与参数:顶行 ROI/训练/加载/保存,底部仅运行匹配;批量测试按钮同步图标与 ToolTip

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 11:42:56 +08:00
李伟 e0eec42a2f feat: 模板匹配助手窗口与主视口 ROI 清除逻辑
- 新增模板助手/批量测试窗口、事件与 ViewModel,主窗口入口与 App 注册

- 运行匹配或批量测试前发布清除事件;视口通过 VisualTreeHelper 从父 Panel 移除持久虚线 ROI,避免 FindChild 失败时框残留

- TemplateMatchNative 等相关调整

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 10:42:20 +08:00
李伟 82465e6510 白底/黑底检测:轮廓与最远弦度量,UI 分色与标注优化
- 算子:输出轮廓顶点及顶点间最远弦(微米标定与原先一致)

- 视图:实线轮廓;白底红/黑底绿;尺寸文字置于 ROI 外右侧垂直居中

- 事件与 MainViewModel 载荷改为 BackgroundDefectDetectionItem

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 09:08:44 +08:00
李伟 baef619bd4 refactor: 白底/黑底检测算法迁至 BackgroundDefectAnalyzer
- 在 XP.ImageProcessing.Processors 新增静态分析类与 BackgroundDefectMode/BackgroundDefectBlob。

- MainViewModel 仅负责灰度 ROI 提取、坐标平移与 Prism 事件发布。
2026-05-14 16:27:16 +08:00
李伟 1ad33cc3e6 feat(viewport): 黑底检测与白/黑底结果随清除测量一并清除
- 新增黑底检测 Prism 事件与 MainViewModel 中 Otsu 二值化(Binary)流程,与白底(BinaryInv)对称。

- Viewport 统一 ROI 绘制与结果渲染;右键「清除所有测量」同时移除底色检测叠加层并复位 ROI 状态。
2026-05-14 16:11:14 +08:00
李伟 1fb789190c feat: 实现快捷工具栏白底检测功能 2026-05-14 15:54:15 +08:00
LI Wei.lw 5960f28bcf 已合并 PR 72: 行灰度功能添加
行灰度功能添加
2026-05-14 13:52:07 +08:00
李伟 7441526ed9 行灰度功能添加 2026-05-14 13:49:09 +08:00
LI Wei.lw 5c3673a9f6 已合并 PR 70: Turbo-606
1.旋转模板匹配 (简单实现,后续继续优化)— 新增 C++ DLL 算子,支持金字塔加速、多目标、旋转匹配、模型保存/加载
2.语言资源整合 — Processors 和 Camera 的本地化资源统一合并到 XP.Common
3.相机标定集成 — 导航相机畸变校准和坐标标定
4.比例尺 — PolygonRoiCanvas 添加比例尺显示,快捷工具栏加开关
5.主界面快捷工具 — 白底/黑底检测、锐化、增强按钮
6.实时模式优化 — 开启时禁用测量工具,修复开关绑定
2026-05-14 13:20:41 +08:00
李伟 aedbef5ecc 删除简单的opencv模板匹配算子,改为使用更高级一点的可旋转匹配算子(C++) 2026-05-13 14:04:10 +08:00
李伟 b9106acdf0 快捷工具处添加比例尺开关 2026-05-13 09:05:05 +08:00
李伟 f5f449b6fc 基于灰度的模板匹配算子开发及集成 2026-05-12 14:47:58 +08:00
QI Mingxuan a4bae49d05 Merged PR 69: 硬件与运动控制的界面效果、功能增强修复和文档更新
1. 进一步优化硬件相关界面的显示效果和布局调整(主要是运动控制和射线源部分);
2. 新增射线源与探测器 Z 轴联动移动,支持同步位移控制,配套新增 PLC 信号与配置项;
3. 新增实体摇杆信号:实现 PLC 摇杆状态监控和事件发布,并新增IMotionSystem接口中的Joystick属性;
4. 新增探测器自动连接,自动采集,退出自动停止采集和断开,解决退出阻塞问题,加入超时保护机制;
5. 补充探测器类库的使用说明和相关文档。
2026-05-11 14:18:31 +08:00
QI Mingxuan 8666c76f65 解决探测器退出阻塞的问题,中加入超时保护,避免死锁。 2026-05-11 13:27:44 +08:00
李伟 9f604d4e2f 集成导航相机畸变校准和坐标标定 2026-05-11 13:08:16 +08:00
QI Mingxuan c1c2b93cf8 更新运动控制相关的Readme、Guidence文件等。 2026-05-11 11:20:02 +08:00
QI Mingxuan e9596b013a 修复运动控制问题:ExecuteToggleEnable 在 PLC 写入失败或异常时回滚 IsJoystickEnabled 状态;OnPlcConnectionChanged 中改为 new List<>(dict.Keys) 遍历副本,避免潜在的集合修改问题;SendSourceDetectorZMoveCommand 新增 sourcePropertyName 参数,根据用户编辑的是 SourceZ 还是 DetectorZ 来决定 delta 计算方向;SavePositionsCommand 增加 () => IsPlcConnected 条件,PLC 未连接时禁止保存。
补充射线源和PLC类库所需配置和信号地址定义文件。
2026-05-11 10:54:29 +08:00
李伟 d89c8c4f44 相机操作相关语言资源合并至Common 2026-05-11 10:11:50 +08:00
李伟 9be110607b 将XP.ImageProcessing.Processors语言资源合并至Common 2026-05-09 16:53:26 +08:00
李伟 59fce4f8fa feat: 实时模式开启时禁用测量工具
- MainViewModel: 添加 IsMeasurementToolsEnabled 属性
- MainWindow: 为测量工具按钮绑定 IsEnabled
2026-05-09 13:27:43 +08:00
QI Mingxuan f4a2856b92 运动控制:新增射线源与探测器 Z 轴联动移动功能,支持同步位移控制,新增实体摇杆实现 PLC 摇杆状态监控和事件发布,IMotionSystem 接口新增 Joystick 属性,更新文档说明联动功能使用方法。 2026-05-09 11:30:05 +08:00
李伟 827050faf0 fix: 修复实时开关绑定及动画效果
- MainWindow.xaml: 绑定 IsChecked 到 IsMainViewportRealtimeEnabled
- Generic.xaml: 修复 AnimatedSwitch 模板,添加初始状态 Setter 和 ExitActions 动画
2026-05-09 10:17:39 +08:00
QI Mingxuan fa8ad29862 主应用新增PLC和探测器硬件资源正确释放。 2026-05-08 17:59:10 +08:00
QI Mingxuan 229c5c5a89 新增软件启动后立即连接探测器,连接后主动连续采集。 2026-05-08 17:50:43 +08:00
李伟 7cf16ecdbc 为主界面快捷工具栏添加图像处理命令接口:白底检测、黑底检测、灰度、锐化、增强,实现锐化和增强 2026-05-08 11:09:07 +08:00
李伟 d3f06aed8b 优化导航面板显示:调整背景色、添加无相机默认图片、保持图像宽高比 2026-05-08 08:57:29 +08:00
QI Mingxuan bb1b76ee7a 增加射线源探测器Z轴锁定联动功能,增加对应plc信号和配置。 2026-05-07 20:24:55 +08:00
LI Wei.lw c80d3e2037 已合并 PR 64: 修改手动测量相关工具等
1.气泡测量工具:修改鼠标光标 - 魔棒/画笔/橡皮工具选中时显示对应的系统光标(魔棒=Cross,画笔=Pen,橡皮=No)
2.气泡测量工具:增加圆形ROI - 圆形 ROI 支持创建、拖动移动、边缘拖动调整大小
3.点点距测量工具:端点由点改为线段 - 将测量点标记从圆形改为垂直于连线的线段
4.气泡测量工具:打开面板时先清除ROIItems里的残留 - 修复残留数据问题
5.圆形ROI图标 - 添加圆形 ROI 工具图标
6.状态栏右下角显示图像像素坐标和灰度 - 显示当前鼠标位置的 X/Y 坐标和灰度值
7.手动测量工具:控制点改为2*2、线宽改为1 - 统一调整测量工具的视觉样式
8.删除BGA手动测量工具 - 移除手动 BGA 测量功能
2026-05-07 14:27:28 +08:00
李伟 cee89e4db0 删除BGA测量相关代码 2026-05-07 14:10:04 +08:00
李伟 1d8db8fa2d 解决合并冲突:合并TURBO-596分支 2026-05-07 13:51:59 +08:00
QI Mingxuan 5e14fe3d9b Merged PR 62: 优化硬件相关的界面显示和布局调整 2026-05-07 10:07:43 +08:00
QI Mingxuan 6b309f11b0 修改主页面右侧硬件栏目宽度,运动控制修改增加图标按钮切换。 2026-05-07 10:01:55 +08:00
ZHANG Zhengxuan 436eaa54fa 已合并 PR 60: 修复算子工具箱及文件夹组织
1、修复编译问题,CNC运行完,实时图像为最后一个节点的输出
2、移除XP单元测试
3、算子工具箱改为Tab窗体
4、流程图 新增执行到此,和执行全部
5、调整Rabbion按钮为CNC页面内置
6、调整算子参数区为滑块控件
7、新增设置窗体,统一数据存储目录
8、增加下拉图像配方列表
2026-05-07 09:38:47 +08:00
zhengxuan.zhang a4e257e8ce 对主界面rabbion按钮的 开关门 绑定到硬件库层真实的操作 2026-05-07 00:12:21 +08:00
zhengxuan.zhang 2124d0c0b7 将XplorePlane项目中所有中文弹窗改为英文弹窗 2026-05-07 00:03:09 +08:00
zhengxuan.zhang 4a4e45e479 打通射线源与相机的断链问题 2026-05-06 23:55:28 +08:00
zhengxuan.zhang d079e9357b 更新硬件集成文档 2026-05-06 23:26:55 +08:00
zhengxuan.zhang d56caf1ab5 双队列的打通 实时按钮的切换 补充测试用例 2026-05-06 23:25:37 +08:00
zhengxuan.zhang bd9b24beb1 探测器双队列的打通与实时按钮的切换 2026-05-06 23:18:28 +08:00
zhengxuan.zhang f9be56b99f Merge remote-tracking branch 'origin/turbo-002-cnc' into turbo-002-cnc 2026-05-06 20:49:44 +08:00
zhengxuan.zhang 03a8532049 修改说明 2026-05-06 20:46:33 +08:00
zhengxuan.zhang e3a1184805 主视口没有可用图像时,回退到 IAppStateService.LatestDetectorFrame 2026-05-06 20:31:07 +08:00
zhengxuan.zhang b740f8d453 修复探测器的订阅与获取 2026-05-06 18:20:52 +08:00
QI Mingxuan cdd1f043e7 优化界面显示:射线源模块紧凑设计,探测器优化布局和大小,优化界面提示和提示。 2026-05-06 17:47:38 +08:00
zhengxuan.zhang 5852e11b9f CNC 运行日志、导出字段顺序、以及参考点/保存点同步适配 2026-05-06 17:43:29 +08:00