@blokcert/node-red-contrib-plate-crop 2.2.0

Node-RED node:輸入車牌圖(Buffer/base64),輸出裁切後車牌(YOLO ONNX,自帶 onnxruntime 與模型)

npm install @blokcert/node-red-contrib-plate-crop

@blokcert/node-red-contrib-plate-crop

Node-RED 節點:輸入車牌圖片(Buffer 或 base64),偵測並裁切車牌,輸出裁切後的車牌圖。

底層呼叫內附的 yolo-plate binary(Go + YOLO ONNX,binary 自帶 onnxruntime,目標機免安裝)。

安裝

Node-RED 編輯器 → 右上選單 → 節點管理(Manage palette) → 安裝 → 搜尋 @blokcert/node-red-contrib-plate-crop;或用指令:

cd ~/.node-red
npm install @blokcert/node-red-contrib-plate-crop

安裝完成後重啟 Node-RED,編輯器的 function 類別下會出現「車牌裁切」節點。

內附兩個車牌偵測模型,節點可切換,無需另外準備:

  • 精準(fp32,260MB):框最貼,推論約 1 秒。因 npm 單套件大小限制, 以 4 個資料套件(@blokcert/plate-crop-fp32-p0p3)分塊發佈, 安裝時自動拼裝成 models/plate-fp32.onnx(含 sha256 校驗;若安裝時被跳過,首次使用會自動補拼)。
  • 快速models/plate-fast.onnx,YOLOv8n,~12MB):推論約 0.15 秒,框略鬆。

使用

  1. 拉「車牌裁切」節點到流程。
  2. 雙擊設定:選模型(精準/快速/自訂路徑),並可指定輸入/輸出屬性輸出格式
  3. 上游把圖片放到輸入屬性(預設 msg.payload)——Buffer(原始 PNG/JPEG 位元組) 或 base64 字串(可含 data:image/...;base64, 前綴)皆可。
  4. 結果寫入輸出屬性(預設 msg.payload):
    • 裁切車牌 PNG,依輸出格式Buffer(預設)或 base64 字串
    • 勾「全部車牌」:陣列
    • 未偵測到車牌:輸出原本圖片(節點狀態顯示「無車牌」)

設定項

項目 說明
模型 內附「精準」/「快速」,或選「自訂路徑」填自己的 .onnx
輸入屬性 讀圖片(Buffer 或 base64)的 msg 屬性,預設 payload,支援巢狀如 payload.image
輸出屬性 寫結果的 msg 屬性,預設 payload,支援巢狀如 result.plate
輸出格式 Buffer(預設)或 base64 字串
信心門檻 對應 -conf,預設 0.25
外擴像素 對應 -pad,裁切外擴,預設 0
解析度 對應 -imgsz,留空=模型預設(通常640);填 960/1280 提升偵測信心(較慢)
遮罩屬性 讀遮罩多邊形的 msg 屬性,預設 cropPath;msg 沒有該屬性時不遮罩
銳利化 unsharp mask 的 sigma(建議 1-10),留空關閉
自動對比 勾選啟用 1%~99% 亮度百分位拉伸
全部車牌 對應 -all,勾選輸出所有車牌
binary 路徑 留空=自動依平台選內附 binary

前處理(遮罩/銳利化/自動對比)

偵測前依序套用:遮罩 → 銳利化 → 自動對比,裁切也從處理後的圖取出, 可取代上游 sharp/canvas 的 ROI 前處理 function 節點。

遮罩多邊形放在 msg.cropPath(屬性名可改),格式 [{"x":..,"y":..},...] (陣列或 JSON 字串皆可),多邊形的區域塗黑(等效 sharp 的 dest-in 合成):

// 上游 function 節點(每台相機不同 ROI)
msg.cropPath = global.get("cameras.cp" + msg.snap.cameraId + ".cropPath");
return msg;

v2.2.0:新增前處理(遮罩/銳利化/自動對比);無車牌時輸出原本圖片(原為 null)。 v2.1.0:內附「精準」模型由 int8 換回 fp32(快 ~2.3 倍、框相同),以分塊套件自動拼裝。 v2.0.0 重大變更:輸出預設由 base64 字串改為 Buffer;要維持舊行為請把「輸出格式」設為 base64。 支援模型格式新增 YOLO26/YOLOv10 端到端輸出([1,300,6])。

支援平台

內附 binary:linux-x64(一般 x86 伺服器/PC,Node-RED 部署用)、darwin-arm64(mac 本機開發/測試)。 兩者皆自帶 onnxruntime 1.26,目標機免安裝。 其他平台請自行編譯 yolo-plate(見上層專案),並在節點設定「binary 路徑」指定。

測試

npm test        # 需要上層 plate.onnx 與一張範例圖,可用環境變數覆寫:
PLATE_MODEL=/path/plate.onnx PLATE_IMG=/path/img.jpg npm test

Node Info

Version: 2.2.0
Updated 1 day ago
License: MIT
Rating: not yet rated

Categories

Actions

Rate:

Downloads

0 in the last week

Nodes

  • plate-crop

Keywords

  • node-red
  • license-plate
  • anpr
  • yolo
  • onnx

Maintainers