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_numberNomor 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_numberNomor 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).
print_picture#
print_picture()
- Parameter:
tidak ada
- Nilai Kembalian:
tidak ada
Kirim gambar yang baru saja diambil melalui port serial untuk ditampilkan di jendela debug CamScripter. Anda harus memanggil take_picture sebelum memanggil fungsi ini - fungsi ini tidak mengambil gambar itu sendiri.
save_picture#
save_picture(string filename)
- Parameter:
filenameNama 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:
resolutionResolusi 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:
spaceResolusi baru untuk kamera, harus berupaCC3_COLORSPACE_YCRCBATAUCC3_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:
msJumlah 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:
imgSebuah objek image ke dalam mana baris pixbuf dibaca,num_rowsJumlah 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:
pxlStruktur data pixel ke dalam mana nilai piksel disimpan.x,yKoordinat 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:
widthLebar gambar,heightTinggi 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_widthLebar template yang kita diff,template_heightTinggi 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:
fdObjek 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:
imgSebuah struktur data image,fdSebuah 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:
fdStruktur 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parameter:
trackertracker menyediakan data yang digunakan untuk mencetak- Nilai Kembalian:
tidak ada
Menggunakan data dalam objek tracker untuk mencetak informasi debug pada CamScripter. Mencetak persegi panjang yang mewakili gambar dalam buffer gambar kamera, dengan persegi panjang lain di dalamnya yang mewakili kotak pembatas untuk warna yang dilacak, dan titik merah yang menunjukkan centroid warna dalam gambar.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parameter:
x,yadalah lokasi koordinat sudut kiri atas persegi panjang dalam jarak dari sudut kiri atas layar grafis.widthdanheightadalah lebar dan tinggi persegi panjang. Argumen opsionalred,green, danbluememberikan warna persegi panjang yang akan digambar sebagai nilai RGB. Warna default adalah hitam.- Nilai Kembalian:
tidak ada
Menggambar persegi panjang selebar width piksel dan setinggi height piksel di tab grafis CamScripter. Argumen red, green, dan blue opsional memungkinkan perubahan warna persegi panjang menggunakan nilai RGB antara 0 dan 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parameter:
Titik awal dan titik akhir untuk garis, dan argumen opsional untuk mengatur warna garis.
- Nilai Kembalian:
tidak ada
Gambar garis pada layar grafis CamScripter dari (start_x, start_y) ke (end_x, end_y). Warna RGB garis dapat ditentukan dengan argumen red, green, dan blue opsional. Warna default adalah hitam, jika tidak ada warna yang ditentukan.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parameter:
Sudut kiri atas oval ditentukan oleh (x, y). Lebar dan tinggi dalam piksel. Merah, hijau, dan biru adalah argumen opsional untuk mengatur warna oval.
- Nilai kembalian:
tidak ada
Gambar oval pada layar grafis CamScripter. Sudut kiri atas oval berada pada titik (x, y). Warna RGB oval dapat ditentukan dengan argumen red, green, dan blue opsional. Warna default adalah hitam, jika tidak ada warna yang ditentukan.
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.