Lua API: 함수#

set_debug#

set_debug(boolean debug_on)

매개변수:

debug_on – true(디버깅 켜짐) 또는 false(디버깅 꺼짐)로 평가되는 값을 전달하십시오

반환 값:

none

디버깅을 켜거나 끕니다. 디버깅이 켜져 있으면, 카메라는 시리얼 포트를 통해 텍스트 및 이미지 디버깅 정보를 보내려고 시도합니다. 성능을 향상시키려면 프로그램이 완료되면 디버깅을 끄십시오.

print#

사용법: print("a message") / print("one plus one is ", 1+1)

매개변수:

원하는 만큼 많은 값을 전달합니다.

반환 값:

none

값을 출력하는 데 사용되는 디버깅 함수입니다. CMUcam3는 이 함수에 전달된 모든 값을 CamScripter Eclipse 플러그인으로 보내며, 거기서 콘솔 영역에 표시됩니다.

turn_on_led#

turn_on_led(integer led_number)

매개변수:

led_number 켤 CMUcam3 LED의 번호. 0, 1, 2만 유효한 값입니다.

반환 값:

none

CMUcam3 LED 중 하나를 켭니다.

turn_off_led#

turn_off_led(integer led_number)

매개변수:

led_number 켤 CMUcam3 LED의 번호. 0, 1, 2만 유효한 값입니다.

반환 값:

none

CMUcam3 LED 중 하나를 끕니다.

take_picture#

take_picture()

매개변수:

none

반환 값:

none

CMUcam3로 사진을 찍고, 사진 버퍼(pixbuf)를 로드합니다.

save_picture#

save_picture(string filename)

매개변수:

filename 사진을 저장하려고 시도할 파일 이름.

반환 값:

none

현재 사진 버퍼에 있는 사진을 전달된 파일 이름으로 저장합니다. 파일 이름은 유효한 FAT16 파일 이름 <8.3>이어야 하며, 그렇지 않으면 오류가 반환됩니다. 주어진 파일 이름으로 파일이 이미 존재하면, 덮어쓰기됩니다. 이 함수는 사진 자체를 찍지 않는다는 점에 유의하십시오 - save_picture를 호출하기 전에 take_picture를 호출해야 합니다.

file_exists#

file_exists(string filename)

매개변수:

filename

반환 값:

파일이 존재하는지를 나타내는 boolean

전달된 파일 이름으로 MMC/SD 카드에 파일이 있는지 테스트합니다.

camera_set_resolution#

camera_set_resolution(integer resolution)

매개변수:

resolution 카메라의 새 해상도

반환 값:

none

CMUcam3의 해상도를 설정합니다. 해상도는 high 또는 low여야 합니다(Lua API: 상수의 카메라 해상도 상수 참조).

camera_set_colorspace#

camera_set_colorspace(integer space)

매개변수:

space 카메라의 새 해상도, CC3_COLORSPACE_YCRCB 또는 CC3_COLORSPACE_RGB 중 하나여야 함

반환 값:

none

CMUcam3의 색 공간을 YCRCB 또는 RGB로 설정합니다(RGB가 기본값). Lua API: 상수도 참조하십시오.

wait#

wait(integer ms)

매개변수:

ms 기다릴 밀리초 수

반환 값:

none

ms 밀리초 동안 기다립니다.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

반환 값:

none

카메라의 관심 채널을 설정합니다. 사진을 찍을 때 카메라가 어떤 채널을 기록하는지 결정합니다. COI에 더 작은 값을 설정하면 이미지 처리 속도를 높일 수 있습니다. COI의 유효한 값은 Lua API: 상수의 관심 채널 상수에서 찾을 수 있습니다.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

매개변수:

img pixbuf 행이 읽혀질 이미지 객체, num_rows 읽을 행 수

반환 값:

성공적으로 읽은 행 수

카메라의 사진 버퍼(pixbuf)에서 num_rows개의 행을 전달된 image 객체로 복사합니다.

pixbuf_get_width#

pixbuf_get_width()

매개변수:

none

반환 값:

픽셀 단위의 pixbuf 너비

사진 버퍼(pixbuf)의 너비를 가져옵니다. 이것을 호출하기 전에 take_picture 또는 show_picture를 호출하여 사진 버퍼가 로드되어 있어야 합니다.

pixbuf_get_height#

pixbuf_get_height()

매개변수:

none

반환 값:

픽셀 단위의 pixbuf 높이

사진 버퍼(pixbuf)의 높이를 가져옵니다. 이것을 호출하기 전에 take_picture 또는 show_picture를 호출하여 사진 버퍼가 로드되어 있어야 합니다.

pixel_new#

pixel_new()

매개변수:

none

반환 값:

새로운 pixel 데이터 구조

새 픽셀 데이터 구조를 생성하여 반환합니다. 구조에 대한 자세한 내용은 픽셀 문서를 참조하십시오. pixel 구조의 사용법은 pixbuf_get_pixelget_pixel도 참조하십시오.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

매개변수:

pxl 픽셀 값을 저장할 pixel 데이터 구조. x, y 사진 버퍼 내에서 검색할 픽셀의 x 및 y 좌표.

반환 값:

없음, 픽셀 값은 전달된 pixel에 저장됩니다

CMUcam3 사진 버퍼(pixbuf) 내에서 단일 pixel을 가져옵니다. x와 y는 각각 pixbuf_get_widthpixbuf_get_height보다 작아야 합니다. pixbuf에 사진을 저장하기 위해 take_picture가 호출되지 않았어도 이 함수는 실패하지 않지만, pixel에 삽입된 값은 쓸모없는 값이 됩니다.

image_new#

image_new(integer width, integer height)

매개변수:

width 이미지의 너비, height 이미지 높이

반환 값:

새로운 image 데이터 구조.

전달된 너비, 높이 및 pixsize로 새 image 데이터 구조를 가져옵니다. image 데이터 구조 사용에 대한 자세한 내용은 image 문서를 참조하십시오.

전달된 image 데이터 구조에서 pixel을 가져옵니다. 픽셀의 RGB 값은 전달된 pixel 데이터 구조에 저장됩니다. 매개변수 x는 image의 너비보다 작아야 하고, y는 image의 높이보다 작아야 합니다.

framediff_new#

framediff_new(integer template_width, integer template_height)

매개변수:

template_width 차분하는 템플릿의 너비, template_height 템플릿의 높이

반환 값:

새로운 framediff 데이터 구조

전달된 템플릿 너비와 높이로 새 framediff 데이터 구조를 가져옵니다. framediff 구조는 일반적으로 CMUcam3로 촬영한 두 사진 프레임 사이의 차이를 평가하는 데 사용되지만, 자세한 내용은 framediff 문서를 참조하십시오.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

매개변수:

fd 사용할 framediff 객체

반환 값:

성공하면 1을 반환합니다.

framediff_scanline을 사용하여 프레임 차분을 수행하는 데 필요한 모든 것을 초기화합니다. framediff 구조에 current_template이 설정되어 있는지 확인합니다(또는 framediff:get_load_frame()이 true이면 현재 템플릿을 로드합니다).

framediff_scanline#

framediff_scanline(image img, framediff fd)

매개변수:

img image 데이터 구조, fd framediff 데이터 구조

반환 값:

성공하면 1을 반환

img에서 모든 픽셀을 가져와 framediff 구조의 적절한 슬롯에 로드하여, 두 템플릿(current_template과 previous_template)을 비교할 수 있게 합니다. fd:get_load_frame이 true이면, img의 픽셀을 이전 템플릿 슬롯에 로드합니다. fd:get_load_frame이 false이면, img의 픽셀을 current_template에 로드합니다.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

매개변수:

fd 사용할 framediff 데이터 구조

반환 값:

작업이 성공하면 1을 반환합니다.

framediff 데이터 구조의 두 템플릿(current_template과 previous_template)을 비교하고, 서로 다른 픽셀 수를 계산하여 그 값을 framediff:get_num_pixels에 저장합니다.

clear_graphics#

clear_graphics()

매개변수:

none

반환 값:

none

CamScripter 그래픽 화면을 지웁니다.

tracker_track_color#

tracker_track_color(tracker theTracker)

매개변수:

컬러 트래킹을 수행하는 데 사용되는 tracker 객체로, 설정하려는 원하는 RGB 값으로 설정됩니다.

반환 값:

트래킹이 이루어질 수 있었는지를 나타내는 boolean. 색상을 찾지 못했더라도 true를 반환합니다 – 오류가 발생한 경우에만 false를 반환합니다.

전달된 tracker 객체를 사용하여 CMUcam3에서 색상을 트래킹합니다. 색상을 트래킹하기 전에 take_picture()를 호출해야 합니다. 사진 버퍼를 분석하고, tracker 객체에 값을 설정하여 색상의 경계 상자와 색상의 중심(centroid)을 나타내는 (x, y) 값을 제공합니다. 자세한 내용은 tracker 문서를 참조하십시오.