curtis
17小時前 5577f3ba7b9f0319c9b32d7080165207726d1f81
doc/curtis/prompt/scanimpl_analysis/scanimpl_annalysis.ImageProcessor.json
@@ -7,14 +7,14 @@
      "OMR 檢核"
    ],
    "deps": [
      "GetSiteOMR",
      "FindPoint",
      "GetSiteOMR",
      "Get_OMR",
      "LoadFromFile"
    ],
    "lIndex": "5173",
    "rIndex": "5227",
    "description": "在指定影像文件的特定座標執行 OMR (光學標記辨識)。核心邏輯包含:1. 檢查並載入影像檔(若尚未載入),並呼叫 ClearLine 初始化黑白緩衝區。2. 讀取影像的 DPI 與寬高資訊。3. 使用 CM_Str2Rect 將 Site 字串轉為 TRect 矩陣,並參考定位點 (UpLPoint) 進行位移計算。4. 限制辨識區域座標不超出影像邊界。5. 呼叫 Get_OMR 對黑白圖形緩衝區執行辨識並返回結果值(通常為 1 或 0)。此方法是自動化資料檢核的重要工具。"
    "description": "在影像指定座標執行 OMR 辨識。載入影像、計算相對於定位點的座標偏移、限制邊界並呼叫核心辨識程式獲取結果。"
  },
  {
    "matcher": "Procedure TCB_IMGPSScanX.ImageReSize_FormID(CaseID,FileName:String);  //依十字定位點做縮放",
@@ -24,17 +24,18 @@
      "影像處理"
    ],
    "deps": [
      "ImageReSize_FormID",
      "FindPoint",
      "CheckSize",
      "LoadFromFile",
      "SaveToFile",
      "FileExists",
      "LoadFileGetMD5"
      "FindPoint",
      "ImageReSize_FormID",
      "ImageResize",
      "LoadFileGetMD5",
      "LoadFromFile",
      "SaveToFile"
    ],
    "lIndex": "6343",
    "rIndex": "6420",
    "description": "根據表單的十字定位點或邊框 (ANCHOR/FRAME) 對掃瞄影像進行縮放調整。流程如下:1. 從 FORM_INF_List 取得表單預設高寬與定位類型。2. 載入對應案件下的影像檔,若為補件模式則跳過原有圖檔。3. 呼叫 FindPoint 尋找影像中的十字線或邊框。4. 呼叫 CheckSize 計算偏移與縮放比例。5. 呼叫 ImageResize 執行實際調整。6. 成功縮放後,記錄檔案 MD5 並儲存更新後的影像,同時將操作記錄寫入 ReSize.dat;若定位點遺失或辨識錯誤,則記錄於 AnchorError.dat。"
    "description": "依據定位點縮放影像。查詢表單規格,載入影像(過濾補件模式),尋找十字線或邊框定位點,執行縮放並紀錄 MD5 與日誌。"
  },
  {
    "matcher": "Procedure TCB_IMGPSScanX.ImageReSize_tmp(FormID,FileName:String);  //依十字定位點做縮放(暫存檔)",
@@ -44,14 +45,15 @@
      "影像處理"
    ],
    "deps": [
      "ImageReSize_tmp",
      "CheckSize",
      "ImageReSize_tmp",
      "ImageResize",
      "LoadFromFile",
      "SaveToFile"
    ],
    "lIndex": "6421",
    "rIndex": "6446",
    "description": "針對暫存影像檔案執行十字定位點縮放處理。此方法是 ImageReSize_FormID 的簡化版本,主要針對暫存檔 (FileName) 與指定的 FormID。邏輯包含從資料庫清單查詢表單尺寸與定位模式,若符合 ANCHOR 或 FRAME 類型,則載入影像並呼叫 CheckSize 檢查是否需要調整。若偵測到影像存在偏移或比例差異(SizeStr 非空),則將調整後的影像直接覆蓋儲存回原始路徑。"
    "description": "針對暫存檔執行定位點縮放。簡化版 Resize 邏輯,若偵測到尺寸偏移則直接覆蓋原始檔案,用於處理臨時影像。"
  },
  {
    "matcher": "Function TCB_IMGPSScanX.CheckNeedCrop(Graphic:TDibGraphic):Boolean; //是否是A3要切影像",
@@ -61,11 +63,11 @@
      "影像處理"
    ],
    "deps": [
      "TDibGraphic",
      "CheckNeedCrop"
      "CheckNeedCrop",
      "TDibGraphic"
    ],
    "lIndex": "9996",
    "rIndex": "10021",
    "description": "判斷掃瞄影像是否為 A3 尺寸並需要進行切割(Crop)。判定邏輯有二:首先,檢查影像寬度是否大於 4 倍的 DPI 閥值,藉此初步判斷為大尺寸掃瞄件;其次,遍歷目前的條碼清單 (MpsBarcodeinf),統計有效的表單代碼 (FormID) 數量。如果影像寬度達標且有效表單數量正好為 2,則返回 True。這代表此張大圖實際上是由兩份 A4 表單併排掃瞄而成,後續需依此旗標進行影像分割處理。"
    "description": "判斷影像是否需執行 A3 切割。依據影像寬度(大於 4 倍 DPI)及條碼清單中有效表單代碼的數量(需為 2 個)作為判定據。"
  }
]
]