Lua API: Fungsi#

set_debug#

set_debug(boolean debug_on)

Parameter:

debug_on -- Berikan nilai yang mengevaluasi menjadi true (debug menyala) atau false (debug mati)

Nilai Kembalian:

tidak ada

Nyalakan atau matikan debug. Ketika debug menyala, kamera akan berusaha mengirim informasi debug teks dan gambar melalui port serial. Matikan debug setelah program selesai untuk meningkatkan kinerja.

print#

Penggunaan: print("a message") / print("one plus one is ", 1+1)

Parameter:

Berikan sebanyak mungkin nilai yang diinginkan.

Nilai Kembalian:

tidak ada

Fungsi debugging, digunakan untuk mencetak nilai. CMUcam3 akan mengirim semua nilai yang diberikan ke fungsi ini ke plugin Eclipse CamScripter, di mana nilai-nilai tersebut akan ditampilkan di area Console.

turn_on_led#

turn_on_led(integer led_number)

Parameter:

led_number Nomor LED CMUcam3 yang akan dinyalakan. 0, 1, 2 adalah satu-satunya nilai yang valid.

Nilai Kembalian:

tidak ada

Nyalakan salah satu LED CMUcam3.

turn_off_led#

turn_off_led(integer led_number)

Parameter:

led_number Nomor LED CMUcam3 yang akan dinyalakan. 0, 1, 2 adalah satu-satunya nilai yang valid.

Nilai Kembalian:

tidak ada

Matikan salah satu LED CMUcam3.

take_picture#

take_picture()

Parameter:

tidak ada

Nilai Kembalian:

tidak ada

Ambil gambar dengan CMUcam3, dan muat buffer gambar (pixbuf).

save_picture#

save_picture(string filename)

Parameter:

filename Nama file untuk mencoba menyimpan gambar.

Nilai Kembalian:

tidak ada

Simpan gambar yang saat ini ada di buffer gambar ke nama berkas yang diberikan. Nama berkas harus berupa nama berkas FAT16 yang valid <8.3>, atau kesalahan akan dikembalikan. Jika berkas sudah ada dengan nama berkas yang diberikan, ia akan ditimpa. Perhatikan bahwa fungsi ini tidak mengambil gambar itu sendiri - Anda harus memanggil take_picture sebelum memanggil save_picture.

file_exists#

file_exists(string filename)

Parameter:

filename

Nilai Kembalian:

boolean yang menunjukkan apakah file ada

Menguji apakah ada file di kartu MMC/SD dengan nama file yang diberikan.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parameter:

resolution Resolusi baru untuk kamera

Nilai Kembalian:

tidak ada

Atur resolusi CMUcam3. Resolusi harus high atau low (lihat Camera Resolution Constants di Lua API: Konstanta).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parameter:

space Resolusi baru untuk kamera, harus berupa CC3_COLORSPACE_YCRCB ATAU CC3_COLORSPACE_RGB

Nilai Kembalian:

tidak ada

Atur colorspace untuk CMUcam3 menjadi YCRCB atau RGB (RGB adalah default). Lihat juga Lua API: Konstanta.

wait#

wait(integer ms)

Parameter:

ms Jumlah milidetik yang akan ditunggu

Nilai Kembalian:

tidak ada

Tunggu selama ms milidetik.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Nilai Kembalian:

tidak ada

Atur channel of interest untuk kamera. Menentukan channel mana yang direkam kamera saat mengambil gambar. Menetapkan nilai COI yang lebih kecil dapat mempercepat pemrosesan gambar. Nilai COI yang valid dapat ditemukan di Channel of Interest Constants di Lua API: Konstanta.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parameter:

img Sebuah objek image ke dalam mana baris pixbuf dibaca, num_rows Jumlah baris yang akan dibaca

Nilai Kembalian:

Jumlah baris yang berhasil dibaca

Salin num_rows baris dari buffer gambar kamera (pixbuf) ke objek image yang diberikan.

pixbuf_get_width#

pixbuf_get_width()

Parameter:

tidak ada

Nilai Kembalian:

Lebar pixbuf dalam piksel

Ambil lebar buffer gambar (pixbuf). Buffer gambar harus telah dimuat sebelum memanggil ini dengan memanggil take_picture atau show_picture.

pixbuf_get_height#

pixbuf_get_height()

Parameter:

tidak ada

Nilai Kembalian:

Tinggi pixbuf dalam piksel

Ambil tinggi buffer gambar (pixbuf). Buffer gambar harus telah dimuat sebelum memanggil ini dengan memanggil take_picture atau show_picture.

pixel_new#

pixel_new()

Parameter:

tidak ada

Nilai Kembalian:

Struktur data pixel baru

Membuat dan mengembalikan struktur data pixel baru. Lihat dokumentasi pixel untuk detail tentang struktur tersebut. Lihat juga pixbuf_get_pixel dan get_pixel untuk penggunaan struktur pixel.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parameter:

pxl Struktur data pixel ke dalam mana nilai piksel disimpan. x, y Koordinat x dan y piksel yang akan diambil dalam buffer gambar.

Nilai Kembalian:

tidak ada, nilai piksel disimpan dalam pixel yang diberikan

Ambil satu pixel dari dalam buffer gambar CMUcam3 (pixbuf). x dan y masing-masing harus lebih kecil dari pixbuf_get_width dan pixbuf_get_height. Jika take_picture belum dipanggil untuk menyimpan gambar di pixbuf, fungsi ini tidak akan gagal, tetapi nilai yang dimasukkan ke dalam pixel akan berupa sampah.

image_new#

image_new(integer width, integer height)

Parameter:

width Lebar gambar, height Tinggi gambar

Nilai Kembalian:

Struktur data image baru.

Ambil struktur data image baru, dengan width, height, dan pixsize yang diberikan. Lihat dokumentasi image untuk informasi lebih lanjut tentang penggunaan struktur data image.

Ambil pixel dari struktur data image yang diberikan. Nilai RGB pixel akan disimpan ke dalam struktur data pixel yang diberikan. Parameter x harus lebih kecil dari lebar image, dan y harus lebih kecil dari tinggi image.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parameter:

template_width Lebar template yang kita diff, template_height Tinggi template

Nilai Kembalian:

Struktur data framediff baru

Ambil struktur data framediff baru, dengan lebar dan tinggi template yang diberikan. Struktur framediff umumnya digunakan untuk mengevaluasi perbedaan antara dua frame gambar yang diambil dengan CMUcam3, tetapi lihat dokumentasi framediff untuk informasi lebih lanjut.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parameter:

fd Objek framediff yang digunakan

Nilai Kembalian:

Mengembalikan 1 jika berhasil.

Menginisialisasi semua yang diperlukan untuk melakukan frame differencing menggunakan framediff_scanline. Memastikan ada current_template yang diatur dalam struktur framediff (atau memuat template saat ini jika framediff:get_load_frame() true).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parameter:

img Sebuah struktur data image, fd Sebuah struktur data framediff

Nilai Kembalian:

Mengembalikan 1 jika berhasil

Mengambil semua piksel dari img dan memuatnya ke slot yang tepat dalam struktur framediff, sehingga kedua template (current_template dan previous_template) dapat dibandingkan. Jika fd:get_load_frame true, akan memuat piksel dalam img ke slot template sebelumnya. Jika fd:get_load_frame false, memuat piksel dari img ke current_template.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parameter:

fd Struktur data framediff yang digunakan

Nilai Kembalian:

Mengembalikan 1 jika operasi berhasil.

Membandingkan kedua template (current_template dan previous_template) dalam struktur data framediff, dan menghitung jumlah piksel yang berbeda, menyimpan nilai tersebut dalam framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Parameter:

tidak ada

Nilai kembalian:

tidak ada

Bersihkan layar grafis CamScripter.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parameter:

objek tracker yang digunakan untuk melakukan pelacakan warna, diatur dengan nilai RGB yang diinginkan untuk diatur.

Nilai kembalian:

boolean yang menunjukkan apakah pelacakan dapat terjadi. Mengembalikan true bahkan jika warna tidak ditemukan -- hanya mengembalikan false jika terjadi kesalahan.

Lacak warna di CMUcam3 menggunakan objek tracker yang diberikan. take_picture() harus dipanggil sebelum mencoba melacak warna. Menganalisis buffer gambar, dan mengatur nilai dalam objek tracker untuk memberikan kotak pembatas bagi warna dan nilai (x, y) yang mewakili centroid warna. Lihat dokumentasi tracker untuk detail lebih lanjut.