Lua API: tracker#

설명#

tracker 데이터 구조는 CMUcam3에서 컬러 트래킹을 돕는 데 사용됩니다. 수행 중인 트래킹에 대한 정보와, 어떤 색상이 트래킹되는지 및 컬러 트래킹의 다른 측면을 제어하기 위해 설정할 수 있는 매개변수를 담고 있습니다. TODO: 경계 상자가 무엇인지, 중심(centroid)이 무엇인지에 대한 좋은 설명 추가

예제#

다음은 tracker 객체가 CMUcam3 사진 프레임에서 빨간색 영역을 찾는 데 어떻게 사용되고, 그런 다음 그 상자가 Eclipse의 CamScripter 디버깅 영역에 출력되는지 보여주는 짧은 예제입니다.

trkr = tracker_new(195, 0, 0, 255, 45, 45); -- track red
trkr:set_noise_filter(3);  -- 2 is the default

take_picture();
tracker_track_color(trkr);
print_color_tracker(trkr);  -- print color tracker info to the screen
print("num pixels tracked: " .. trkr:get_num_pixels()); -- print number of red pixels found in the picture
-- print_picture(); -- uncomment this line to print the picture itself to the screen as well (slower)

생성#

tracker_new 참조

메서드#

  • get_centroid_x

  • get_centroid_y

  • get_density

  • get_num_pixels

  • get_x0

  • get_x1

  • get_y0

  • get_y1

  • set_lower_bound

  • set_noise_filter

  • set_upper_bound

get_centroid_x#

trkr:get_centroid_x()

매개변수:

none

반환 값:

중심(centroid)의 정수 x 좌표

트래킹되는 색상의 중심(centroid)의 x 좌표를 가져옵니다. 여기서 (0, 0)은 사진의 왼쪽 상단 모서리입니다.

get_centroid_y#

trkr:get_centroid_y()

매개변수:

none

반환 값:

중심(centroid)의 정수 y 좌표

트래킹되는 색상의 중심(centroid)의 y 좌표를 가져옵니다. 여기서 (0, 0)은 사진의 왼쪽 상단 모서리입니다.

get_density#

trkr:get_density()

매개변수:

none

반환 값:

트래킹되는 색상의 밀도

사진 버퍼 내에서 트래킹된 색상의 밀도를 가져옵니다. 밀도는 컬러 트래커 경계 상자 내에서 트래킹되는 색상이 얼마나 조밀한지에 대한 척도입니다 – 상자 안에 트래킹되는 색상의 픽셀이 많을수록 밀도가 높아집니다.

get_num_pixels#

trkr:get_num_pixels()

매개변수:

none

반환 값:

컬러 트래커 색상과 일치하는 사진 버퍼의 픽셀 수

(tracker_new에 전달된 RGB 값으로 결정된) 트래킹되는 색상의, CMUcam3 사진 버퍼에서 발견된 총 픽셀 수를 가져옵니다.

get_x0#

trkr:get_x0()

매개변수:

none

반환 값:

컬러 트래킹 경계 상자의 왼쪽 상단 모서리의 x 좌표 정수 값.

tracker_track_color가 호출되면, 사진 내에서 트래킹되는 색상의 경계를 설명하는 경계 상자를 설정합니다. (x0, y0)은 그 상자의 왼쪽 상단 모서리의 위치이고, (x1, y1)은 사진 버퍼 내 그 상자의 오른쪽 하단 모서리의 위치이며, 여기서 (0, 0)은 사진 버퍼의 왼쪽 상단 모서리입니다. get_x0은 색상 경계 상자의 왼쪽 상단 모서리의 x 좌표를 반환합니다.

get_y0#

trkr:get_y0()

매개변수:

none

반환 값:

컬러 트래킹 경계 상자의 왼쪽 상단 모서리의 y 좌표 정수 값.

tracker_track_color가 호출되면, 사진 내에서 트래킹되는 색상의 경계를 설명하는 경계 상자를 설정합니다. (x0, y0)은 그 상자의 왼쪽 상단 모서리의 위치이고, (x1, y1)은 사진 버퍼 내 그 상자의 오른쪽 하단 모서리의 위치이며, 여기서 (0, 0)은 사진 버퍼의 왼쪽 상단 모서리입니다. get_y0은 색상 경계 상자의 왼쪽 상단 모서리의 x 좌표를 반환합니다.

get_x1#

trkr:get_y1()

매개변수:

none

반환 값:

컬러 트래킹 경계 상자의 오른쪽 하단 모서리의 x 좌표 정수 값.

tracker_track_color가 호출되면, 사진 내에서 트래킹되는 색상의 경계를 설명하는 경계 상자를 설정합니다. (x0, y0)은 그 상자의 왼쪽 상단 모서리의 위치이고, (x1, y1)은 사진 버퍼 내 그 상자의 오른쪽 하단 모서리의 위치이며, 여기서 (0, 0)은 사진 버퍼의 왼쪽 상단 모서리입니다. get_x1은 색상 경계 상자의 왼쪽 상단 모서리의 x 좌표를 반환합니다.

get_y1#

trkr:get_y1()

매개변수:

none

반환 값:

컬러 트래킹 경계 상자의 오른쪽 하단 모서리의 y 좌표 정수 값.

tracker_track_color가 호출되면, 사진 내에서 트래킹되는 색상의 경계를 설명하는 경계 상자를 설정합니다. (x0, y0)은 그 상자의 왼쪽 상단 모서리의 위치이고, (x1, y1)은 사진 버퍼 내 그 상자의 오른쪽 하단 모서리의 위치이며, 여기서 (0, 0)은 사진 버퍼의 왼쪽 상단 모서리입니다. get_y1은 색상 경계 상자의 왼쪽 상단 모서리의 x 좌표를 반환합니다.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

매개변수:

channel 경계를 설정하는 채널. Lua API: 상수의 관심 채널 상수를 참조하십시오. bound 주어진 채널에 가능한 최솟값. 0에서 255 사이여야 합니다.

반환 값:

none

컬러 트래커에서 한 채널의 하한을 설정합니다. 하한은 트래킹되기 위해 픽셀이 그 채널에서 가질 수 있는 최솟값입니다. 컬러 트래킹 목적으로, 어떤 픽셀이 트래킹 가능한 것으로 간주되려면, 그 픽셀은 각 채널에서 하한과 상한 사이에 있어야 합니다.

set_noise_filter#

trkr:set_noise_filter(integer filter)

매개변수:

filter 새 노이즈 필터 값. 기본값은 2입니다.

반환 값:

none

노이즈 필터 값은 픽셀이 컬러 트래킹으로 감지된 것으로 계산되기 전에 그 픽셀 앞에 몇 개의 연속 활성 픽셀이 필요한지를 결정합니다. 값은 0에서 255 사이여야 합니다.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

매개변수:

channel 경계를 설정하는 채널. Lua API: 상수의 관심 채널 상수를 참조하십시오. bound 주어진 채널에 가능한 최댓값. 0에서 255 사이여야 합니다.

반환 값:

none

컬러 트래커에서 한 채널의 상한을 설정합니다. 상한은 트래킹되기 위해 픽셀이 그 채널에서 가질 수 있는 최댓값입니다. 컬러 트래킹 목적으로, 어떤 픽셀이 트래킹 가능한 것으로 간주되려면, 그 픽셀은 각 채널에서 하한과 상한 사이에 있어야 합니다.