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