본문으로 건너뛰기

이미지 객체 이진화 처리 (: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%
})