二值化處理圖片物件 (: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%
})