> 核心技術棧： Delphi + OpenCV + DirectShow + IPC Named Pipe
> 本項目實現了高效的視訊採集、硬體參數控制及跨進程通信。

## 🛠️ 系統需求與依賴

編譯此項目需要安裝以下 Delphi 庫：

- OpenCV for Delphi: GitHub Link
- FFMPEG for Delphi: Source Link
- JEDI JCL/JVCL: Project JEDI

### 📂 關鍵庫路徑配置 (Library Path)

    d:\data\Delphi\mycompDelphi13\Delphi-OpenCV\packages\Resource;
    d:\data\Delphi\mycompDelphi13\Delphi-OpenCV\Delphi-FFMPEG\source;
    d:\data\Delphi\mycompDelphi13\Delphi-OpenCV\packages;
    d:\data\Delphi\mycompDelphi13\Delphi-OpenCV\source;
    C:\Users\vince\...\JEDICodeLibraryJCL-13\2025.10\lib\d37\win32;
    C:\Users\vince\...\JEDIVisualComponentLibraryJVCL-13\2025.10\common;
    ... (及其他相關路徑)

## 📡 IPC 通信協定 (Named Pipe)

服務端監聽管道名稱：`\\.\pipe\CameraControl_IPC_Server`

### 💡 指令範例 (JSON Format)

支援批量處理與單一命令：

    // 恢復預設值
    {"command":"RESET_DEFAULT"}

    // 批量調整參數
    {
        "command": "BATCH_PROCESS",
        "Resolution": "1920x1080",
        "Exposure": -5,
        "auto_focus": false,
        "Focus": 20,
        "Brightness": 128,
        "delay_seconds": 10,
        "save_path": "D:\\Captures\\TestImage.jpg",
        "save file": true
    }

## 🏗️ 主要組件說明

組件名稱 | 功能說明 | 關鍵單元 (Units)
--- | --- | ---
OpenCV | 負責視訊採集與底層圖像處理 | `ocv.core`, `ocv.highgui_c`
DirectShow | 硬體層級控制 (亮度、曝光、焦距) | `IAMVideoProcAmp`, `IAMCameraControl`
IPC Server | 多執行緒命名管道監聽 | `unit_ipc_server`
UI/UX | 即時畫面預覽與動態控制面板 | `Vcl.ExtCtrls`, `Vcl.ComCtrls`

## ⚙️ 硬體控制參數清單

### 影像處理 (ProcAmp)

- Brightness (亮度)
- Contrast (對比度)
- Hue (色調)
- Saturation (飽和度)
- Sharpness (清晰度)
- Gamma / Gain

### 鏡頭控制 (Camera)

- Pan / Tilt / Roll
- Zoom (縮放)
- Exposure (曝光)
- Iris (光圈)
- Focus (焦距)

## 🔍 常見問題與解決 (Troubleshooting)

問題現象 | 可能原因 | 解決方案
--- | --- | ---
無法開啟相機 | 設備被占用或驅動錯誤 | 檢查是否有其他程式使用 Webcam；確認 DirectShow 驅動正常。
IPC 指令無響應 | JSON 格式錯誤 | 請確保路徑中的反斜線已轉義 (例如 `\\`)，並確認管道名稱正確。
USB 斷開後失效 | 未觸發重連機制 | 程式內建 `WM_DEVICECHANGE` 監測，請檢查設備通知註冊狀態。

## 📝 小結

本項目為工業級 Webcam 管理方案提供基礎架構。透過 命名管道 可輕鬆與 Python、C# 或網頁後端整合，實現自動化影像擷取與硬體精準調校。

🚀 祝您編碼愉快！