メインコンテンツまでスキップ

画像オブジェクトを二値化 (: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%
})