Skip to content

OCR 自動化執行方法

為了適應不同遊戲的不同文字之更新方式,軟體有四種不同的方式來進行自動地以一定的頻率從遊戲中進行截圖。

週期執行

TIP

如果你無法理解其他設定的參數,那麼請使用這種方式,這種方式是最簡單的方式。

這個方法會依據「執行週期」來週期執行。

分析圖像更新

這個方法會使用參數「圖像穩定性閾值」與「圖像一致性閾值」

  1. 圖像穩定性閾值

    當遊戲文字不是立即出現(文字速度不是最快),或者遊戲有動態背景或 Live2D 時,截取的圖片是會不停的發生變化的。

    每次截圖時,和上一次截圖進行比較,並計算相似度。當相似度大於閾值時,就會認為圖片是處於穩定狀態,而進行下一步判斷。

    如果可以確定遊戲是完全靜態的,可以將這個值設定為0,反之可以適當提高該值。

  2. 圖像一致性閾值

    這個參數是最重要的。

    當圖片穩定後,會比較目前圖片和上一次進行 OCR 時圖片(而非上一次截圖)的相似度。當相似度小於該閾值時,就會認為遊戲文字發生了變化,而進行 OCR。

    如果 OCR 頻率過快,可以適當提高該值;反之如果太過遲鈍,可以適當降低該值。

滑鼠鍵盤觸發+等待穩定

  1. 觸發事件

    預設以下滑鼠鍵盤事件將觸發該方法:按下滑鼠左鍵、按下 Enter、鬆開 Ctrl、鬆開 Shift、鬆開 Alt。如果綁定了遊戲視窗,則僅當遊戲視窗為前台視窗時,才會觸發方法。

    觸發該方法後,由於需要等待遊戲渲染新的文字,或文字可能不是立即出現(文字速度不是最快),因此需要稍微等待一小段時間,直到顯示的文字穩定。

    觸發該方法並穩定後,一定會進行翻譯,不會考慮文字的相似度。

    如果文字速度是最快的,則可以將以下兩個參數都設定為0。否則,會根據以下參數判斷需要等待的時間:

  2. 延遲(s)

    等待一個固定的延遲時間(內建有 0.1 秒的固有延遲時間,以滿足遊戲引擎的內部邏輯處理)。

  3. 圖像穩定性閾值

    這個值和上面的同名參數類似。不過這個僅用來判定文字是否繪製完畢,因此和上面的同名參數不共用配置。

    由於慢速文字的繪製時間不固定,因此使用指定的固定延遲可能不能滿足需要。所以會在圖像與上次截圖相似度大於閾值時,才執行本次觸發事件。

文字相似度閾值

OCR 的結果是不穩定的,經常對於圖片的微小擾動會使文字發生微小變化,導致翻譯也會連帶重新翻譯。

每次調用 OCR 後,都會比較本次 OCR 的結果和上一次 OCR 的結果(編輯距離),當編輯距離大於閾值時,才會輸出文字。