跳至主要內容

二值化處理圖片物件 (:binaryzation)

聲明

圖片 = 圖片:binaryzation({
[white_background = 白背景,]
[csim_mode = 相似度模式,]
[csim_algorithm = 顏色相似度演算法,]
{顏色*, 色偏*},
{顏色*, 色偏*},
...
})
圖片 = 圖片:binaryzation("cx*-cox*,cx*-cox*...")

參數

  • 白背景(自 20250302 版本起支援)
    布林型,可選參數,是否將背景設定為白色,預設 false,即白前景黑背景

  • 相似度模式(自 20250302 版本起支援)
    布林型,可選參數,是否使用相似度模式;啟用時 色偏* 表示相似度而非色差值,預設 false

  • 顏色相似度演算法(自 20250302 版本起支援)
    整數型,可選參數,顏色相似度演算法,僅在相似度模式下生效,預設 0

    顏色相似度演算法
    0 為 XXT 預設演算法,梯度陡峭,差值使相似度下降很快
    1 為曼哈頓演算法,梯度平滑
    2 為歐幾里得演算法,梯度平滑
  • 顏色*, 色偏*
    整數型,顏色值白名單,顏色* 是顏色值本身,色偏* 是 顏色* 的最大色差值

  • cx*-cox*
    文字型,顏色值白名單,cx* 是顏色值本身的 16 進制文字描述,cox* 是 cx* 的最大色差值 16 進制文字描述

回傳值

  • 圖片
    圖片物件,二值化後返回圖片物件本體

說明

二值化處理圖片物件
會對物件本身產生影響
性能上,該函式操作過程不產生資料拷貝

範例

local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
{0x9D5D39, 0x0F1F26},
{0xD3D3D2, 0x2C2C2D},
})
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation("9D5D39-0F1F26,D3D3D2-2C2C2D")
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
csim_mode = true, -- 使用相似度模式
csim_algorithm = 2, -- 使用歐幾里得算法
white_background = true, -- 將背景設置為白色
{0x9D5D39, 90}, -- 顏色 0x9D5D39 的相似度為 90%
{0xD3D3D2, 90}, -- 顏色 0xD3D3D2 的相似度為 90%
})