# HK_LineArrayDemo **Repository Path**: gns-tech/hk_-line-array-demo ## Basic Information - **Project Name**: HK_LineArrayDemo - **Description**: 用于视觉项目相关的前期验证demo - **Primary Language**: Unknown - **License**: EPL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-10 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HK_LineArrayDemo 线阵相机扫描采集与图像拼接演示系统 ## 项目简介 HK_LineArrayDemo 是一个基于 WPF 的线阵相机图像采集与拼接演示应用程序。该系统支持连接线阵相机进行连续帧采集,并通过图像拼接算法将多帧图像合并为完整的二维图像,同时集成了 LW100 伺服电机控制功能以实现自动扫描采集。 ## 功能特性 ### 相机控制 - 连接与断开线阵相机 - 实时预览原始采集帧 - 曝光时间调节 - 增益调节 - 数字位移使能控制 - Gamma 校正 ### 图像拼接 - 多帧图像实时拼接 - 目标高度设置 - 动态缓冲区管理 - 实时拼接结果显示 - 拼接图像保存 ### 伺服电机控制 - 电机使能/禁用 - 正反转控制 - 停止控制 - 加减速时间设置 - 实时状态监控(速度、位置、扭矩、电流) ### 图像显示与交互 - 图像缩放与平移 - 鼠标滚轮缩放 - 中键拖拽平移 - 冻结显示 ## 系统要求 - Windows 7 或更高版本 - .NET Framework 4.5 或更高版本 - MV Camera Control SDK - 串口(用于连接 LW100 伺服控制器) ## 项目结构 ``` HK_LineArrayDemo/ ├── camera/ │ ├── CameraDriver.cs # 相机驱动程序 │ └── ImageStitcher.cs # 图像拼接器 ├── driver/ │ └── LW100ServoDriver.cs # LW100伺服驱动器 ├── MainWindow.xaml # 主窗口界面 ├── MainWindow.xaml.cs # 主窗口逻辑 └── UserImageControl.xaml # 自定义图像控件 ``` ## 快速开始 ### 连接相机 1. 运行应用程序 2. 点击"连接"按钮连接相机 3. 等待连接成功提示 ### 启动采集 1. 设置曝光时间和增益参数 2. 点击"开始"按钮启动采集 3. 实时观察原始帧显示 ### 伺服控制扫描 1. 连接伺服控制器(设置串口参数) 2. 点击"电机使能"启用电机 3. 使用"正转"/"反转"按钮控制扫描 4. 观察拼接结果图像 ## 使用说明 ### 参数设置 | 参数 | 说明 | 范围 | |------|------|------| | 曝光时间 | 相机曝光时间(微秒) | 视相机型号而定 | | 增益 | 图像增益 | 0-10 | | 数字位移 | 数字信号位移 | 0-255 | | Gamma | Gamma校正值 | 0.1-10.0 | ### 图像保存 点击"保存"按钮可保存当前拼接结果为图像文件。 ## 技术细节 ### CameraDriver 相机驱动封装了 MV Camera Control SDK 提供的接口,支持: - 相机连接与参数配置 - 连续采集模式 - 图像格式转换(BGR24) ### ImageStitcher 图像拼接器采用异步队列处理机制: - 异步帧入队处理 - 可配置目标高度 - 线程安全的缓冲区管理 ### LW100ServoController LW100 伺服控制器通过 Modbus RTU 协议通信: - 串口参数:9600-115200 波特率,可配置 - 支持速度/位置/扭矩控制模式 - 实时状态读取 ## 依赖库 - MvCameraControl.Net.dll - 线阵相机 SDK - .NET Framework 4.5+ ## 许可证 本项目仅供演示和学习使用,具体使用请遵守相关许可证约定。