2025年12月2日 星期二

Spotlight CAPTCHA 腳本輸入參數定義與公用


此腳本是一個用於生成**「聚光燈驗證碼 (Spotlight CAPTCHA)」**GIF 動畫的工具,其輸入參數通過命令行傳遞給 main() 函數。


💡 Spotlight CAPTCHA 腳本輸入參數定義與公用

腳本執行時需要提供 7 個參數,用於控制驗證碼的視覺複雜度和時序行為。

執行語法:

Bash
python <腳本名> <陣列模式> <密碼> <干擾數> <字體模式> <背景模式> <閃動模式> <顯示模式>
序號參數名稱 (程式變數)允許值描述 (公用)
1陣列模式 (rc_mode)定義字符陣列的尺寸:3x3, 4x4, 5x5, 或 6x6
2密碼 (password) 位大寫字母用戶需要識別並輸入的目標字符序列。字符將隨機分佈在陣列中。
3干擾數 (distractor_count)序列閃動階段(Phase 1)中,非密碼球同時被混淆(color_mode="null")的數量。用來增加視覺混淆。
4字體模式 (font_mode)

控制字符的視覺干擾等級:


• 常規文字(無干擾)。


• 變形旋轉ASPECT_RATIO_RANGEROTATION_ANGLE_RANGE)。


• 變形旋轉 + 線條 + 雜訊塊最高干擾,還會加入NUM_NOISE_LINES_RANGENOISE_DENSITY等)。

5背景模式 (background_mode)

選擇驗證碼的背景樣式:


• 純黑背景。


• 雜訊亮點背景(由BACKGROUND_NOISE_DENSITY控制)。


• : 隨機從 bg_image 資料夾中選取 Logo 圖作為背景。

6閃動模式 (flash_mode)

控制密碼字符的「聚光燈」時序行為:


• 單點依序閃動(每次只點亮一個密碼球,然後熄滅)。


• 接龍依序閃動(已點亮的密碼球保持點亮狀態,形成持續亮起的序列)。

7顯示模式 (showtype)

定義圓球在畫布上的排列方式:


• 規則圓球陣列(網格排列,間距固定)。


• 隨機重疊圓球(散佈在畫布上,並透過中心點最小距離()限制遮蔽率小於 50%,以增加定位和分割難度)。


關鍵設計參數(補充)

腳本中還定義了一些控制動畫和干擾效果的常量:

  • 球體和間距: IMAGE_SIZEBALL_PADDING

  • 動畫時間: INITIAL_PAUSE_MSSEQ_FLASH_ON_MSSEQ_FLASH_OFF_MS 等,控制閃動的節奏。

  • 字體干擾細節 (Font Mode 1 & 2): ASPECT_RATIO_RANGEROTATION_ANGLE_RANGE

  • 雜訊干擾細節 (Font Mode 2): NUM_NOISE_LINES_RANGENOISE_DENSITYNOISE_BLOCK_SIZE

您希望對這些參數的組合效果進行進一步的分析或生成一個示例嗎?