cv - 이미지를 도형 윤곽 정보로 변환 (:cv_to_shapes)
선언
도형 모음, 시각화 이미지 = 이미지:cv_to_shapes([윤곽 매칭 설정])
매개변수
-
윤곽 매칭 설정
선택적 매개변수이며 테이블형입니다.윤곽 매칭 설정 필드
{
should_visualize = false | true, -- 선택적 매개변수, 시각화 결과 출력 여부, 기본값 false
closed = false | true, -- 선택적 매개변수, 도형을 닫을지 여부, 기본값 false
blur_size = integer_value, -- 선택적 매개변수, 블러 커널의 픽셀 크기, 양의 홀수만 가능, 기본값 3
canny_threshold1 = 100, -- 선택적 매개변수, 에지 최소 임계값, 기본값 100
canny_threshold2 = 200, -- 선택적 매개변수, 에지 최대 임계값, 기본값 200
approx_epsilon = integer_value, -- 선택적 매개변수, 윤곽 근사 시 둘레에 적용할 백분율로 복잡한 윤곽을 단순화하는 데 사용, 기본값 2
}
반환값
-
도형 모음
테이블형이며, 이미지에 있는 도형들의 꼭짓점 정보입니다.도형 모음 구조
{
{ -- 도형 1
{ -- 도형 1 꼭짓점 1
["y"] = number_value,
["x"] = number_value,
},
{ -- 도형 1 꼭짓점 2
["y"] = number_value,
["x"] = number_value,
},
...
},
{ -- 도형 2
{ -- 도형 2 꼭짓점 1
["y"] = number_value,
["x"] = number_value,
},
{ -- 도형 2 꼭짓점 2
["y"] = number_value,
["x"] = number_value,
},
...
},
...
} -
시각화 이미지
이미지 객체입니다. options.should_visualize가 true이면 이 반환값은 이미지 객체인 시각화 결과입니다.
설명
이미지의 윤곽을 도형 꼭짓점 정보로 변환합니다.
도형으로 변환할 이미지는 너무 복잡하지 않게 하고, 윤곽이 뚜렷한 닫힌 도형을 사용하는 것이 좋습니다.
예제
local cv = require("image.cv")
local img = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
-- 반환값은 하나의 도형 목록이며 여러 도형을 포함할 수 있음
local shapes, visimg = img:cv_to_shapes({
blur_size = 3, -- 블러 커널 크기
approx_epsilon = 2, -- 잔돌기 억제율 0~100
closed = true, -- 닫힌 도형
should_visualize = true, -- 시각화 결과 출력 여부. true이면 두 번째 반환값은 이미지임
})
nLog(shapes) -- 도형 목록의 꼭짓점 정보 출력
dialog():add_image(visimg):show() -- 도형 이미지를 시각화하여 확인