Lua API: Fonksiyonlar#

set_debug#

set_debug(boolean debug_on)

Parametreler:

debug_on – true (hata ayıklama açık) veya false (hata ayıklama kapalı) olarak değerlendirilen bir değer geçirin

Dönüş Değerleri:

yok

Hata ayıklamayı açın veya kapatın. Hata ayıklama açıkken, kamera seri port üzerinden metin ve görüntü hata ayıklama bilgisi göndermeye çalışacaktır. Performansı artırmak için bir program bittiğinde hata ayıklamayı kapatın.

print#

Kullanım: print("a message") / print("one plus one is ", 1+1)

Parametreler:

İstediğiniz kadar değer geçirin.

Dönüş Değerleri:

yok

Değerleri yazdırmak için kullanılan hata ayıklama fonksiyonu. CMUcam3, bu fonksiyona iletilen tüm değerleri CamScripter Eclipse eklentisine gönderir; burada Konsol alanında görüntülenirler.

turn_on_led#

turn_on_led(integer led_number)

Parametreler:

led_number Açılacak CMUcam3 LED’inin numarası. Yalnızca 0, 1, 2 geçerli değerlerdir.

Dönüş Değerleri:

yok

CMUcam3 LED’lerinden birini açın.

turn_off_led#

turn_off_led(integer led_number)

Parametreler:

led_number Açılacak CMUcam3 LED’inin numarası. Yalnızca 0, 1, 2 geçerli değerlerdir.

Dönüş Değerleri:

yok

CMUcam3 LED’lerinden birini kapatın.

take_picture#

take_picture()

Parametreler:

yok

Dönüş Değerleri:

yok

CMUcam3 ile bir resim çekin ve resim arabelleğini (pixbuf) yükleyin.

save_picture#

save_picture(string filename)

Parametreler:

filename Resmi altına kaydetmeye çalışılacak dosya adı.

Dönüş Değerleri:

yok

Resim arabelleğinde şu anda bulunan resmi, aktarılan dosya adına kaydet. Dosya adı geçerli bir FAT16 dosya adı <8.3> olmalıdır, aksi takdirde bir hata döndürülür. Verilen dosya adıyla zaten bir dosya varsa, üzerine yazılır. Bu fonksiyonun kendisinin bir resim çekmediğini unutmayın - save_picture’ı çağırmadan önce take_picture’ı çağırmalısınız.

file_exists#

file_exists(string filename)

Parametreler:

filename

Dönüş Değerleri:

dosyanın var olup olmadığını gösteren boolean

MMC/SD kartta aktarılan dosya adıyla bir dosya olup olmadığını test edin.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parametreler:

resolution Kamera için yeni çözünürlük

Dönüş Değerleri:

yok

CMUcam3’ün çözünürlüğünü ayarlayın. Çözünürlük ya yüksek ya da düşük olmalıdır (Lua API: Sabitler içindeki Kamera Çözünürlüğü Sabitleri’ne bakın).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parametreler:

space Kamera için yeni çözünürlük, ya CC3_COLORSPACE_YCRCB YA DA CC3_COLORSPACE_RGB olmalıdır

Dönüş Değerleri:

yok

CMUcam3 için renk uzayını YCRCB veya RGB olarak ayarlayın (RGB varsayılandır). Ayrıca Lua API: Sabitler sayfasına da bakın.

wait#

wait(integer ms)

Parametreler:

ms Beklenecek milisaniye sayısı

Dönüş Değerleri:

yok

ms milisaniye bekleyin.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Dönüş Değerleri:

yok

Kamera için ilgilenilen kanalları ayarlayın. Resim çekerken kameranın hangi kanalları kaydettiğini belirler. COI için daha küçük değerler ayarlamak görüntü işlemeyi hızlandırabilir. COI için geçerli değerler Lua API: Sabitler içindeki İlgilenilen Kanal Sabitleri’nde bulunabilir.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parametreler:

img pixbuf satırlarının okunduğu bir image nesnesi, num_rows Okunacak satır sayısı

Dönüş Değerleri:

Başarıyla okunan satır sayısı

Kameranın resim arabelleğinden (pixbuf) num_rows satırını, iletilen image nesnesine kopyalar.

pixbuf_get_width#

pixbuf_get_width()

Parametreler:

yok

Dönüş Değerleri:

pixbuf’un piksel cinsinden genişliği

Resim arabelleğinin (pixbuf) genişliğini al. Bunu çağırmadan önce ya take_picture ya da show_picture çağrılarak resim arabelleği yüklenmiş olmalıdır.

pixbuf_get_height#

pixbuf_get_height()

Parametreler:

yok

Dönüş Değerleri:

pixbuf’un piksel cinsinden yüksekliği

Resim arabelleğinin (pixbuf) yüksekliğini al. Bunu çağırmadan önce ya take_picture ya da show_picture çağrılarak resim arabelleği yüklenmiş olmalıdır.

pixel_new#

pixel_new()

Parametreler:

yok

Dönüş Değerleri:

Yeni bir pixel veri yapısı

Yeni bir piksel veri yapısı oluşturur ve döndürür. Yapı hakkında ayrıntılar için piksel belgelerine bakın. pixel yapısının kullanımı için ayrıca pixbuf_get_pixel ve get_pixel fonksiyonlarına bakın.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parametreler:

pxl Piksel değerlerinin depolanacağı pixel veri yapısı. x, y Resim arabelleği içinde alınacak pikselin x ve y koordinatları.

Dönüş Değerleri:

yok, piksel değerleri aktarılan pixel içinde depolanır

CMUcam3 resim arabelleğinden (pixbuf) tek bir pixel al. x ve y sırasıyla pixbuf_get_width ve pixbuf_get_height değerlerinden küçük olmalıdır. pixbuf içinde bir resim depolamak için take_picture çağrılmamışsa bu fonksiyon başarısız olmaz, ancak pixel içine eklenen değerler anlamsız olacaktır.

image_new#

image_new(integer width, integer height)

Parametreler:

width Görüntünün genişliği, height Görüntünün yüksekliği

Dönüş Değerleri:

Yeni bir image veri yapısı.

Aktarılan genişlik, yükseklik ve pixsize ile yeni bir image veri yapısı al. image veri yapılarının kullanımı hakkında daha fazla bilgi için image belgelerine bakın.

İçeri aktarılan image veri yapısından bir pixel al. Pikselin RGB değerleri, aktarılan pixel veri yapısına kaydedilecektir. x parametresi image genişliğinden küçük olmalıdır ve y de image yüksekliğinden küçük olmalıdır.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parametreler:

template_width Farkını aldığımız şablonun genişliği, template_height Şablonun yüksekliği

Dönüş Değerleri:

Yeni bir framediff veri yapısı

Aktarılan şablon genişliği ve yüksekliği ile yeni bir framediff veri yapısı al. framediff yapıları genellikle CMUcam3 ile çekilen iki resim karesi arasındaki farkı değerlendirmek için kullanılır, ancak daha fazla bilgi için framediff belgelerine bakın.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parametreler:

fd Kullanılacak framediff nesnesi

Dönüş Değerleri:

Başarılı olursa 1 döndürür.

framediff_scanline kullanarak kare farkı almak için gereken her şeyi başlatır. framediff yapısında ayarlanmış bir current_template olduğundan emin olur (veya framediff:get_load_frame() true ise mevcut şablonu yükler).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parametreler:

img Bir image veri yapısı, fd Bir framediff veri yapısı

Dönüş Değerleri:

Başarılı olursa 1 döndürür

img’deki tüm pikselleri alır ve iki şablonun (current_template ve previous_template) karşılaştırılabilmesi için bunları framediff yapısındaki uygun yuvaya yükler. fd:get_load_frame true ise, img’deki pikselleri önceki şablon yuvasına yükler. fd:get_load_frame false ise, img’deki pikselleri current_template’e yükler.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parametreler:

fd Kullanılacak framediff veri yapısı

Dönüş Değerleri:

İşlem başarılı olursa 1 döndürür.

framediff veri yapısındaki iki şablonu (current_template ve previous_template) karşılaştırır ve farklı olan piksel sayısını hesaplayarak bu değeri framediff:get_num_pixels içinde saklar.

clear_graphics#

clear_graphics()

Parametreler:

yok

Dönüş değerleri:

yok

CamScripter grafik ekranını temizleyin.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parametreler:

renk izlemeyi yapmak için kullanılan, ayarlanacak istenen RGB değeriyle ayarlanmış tracker nesnesi.

Dönüş değerleri:

izlemenin gerçekleşip gerçekleşmediğini gösteren boolean. Renk bulunmasa bile true döndürür – yalnızca bir hata oluşursa false döndürür.

Aktarılan tracker nesnesini kullanarak CMUcam3’te bir rengi izleyin. Bir rengi izlemeye çalışmadan önce take_picture() çağrılmalıdır. Resim arabelleğini analiz eder ve renk için bir sınırlayıcı kutu ve rengin ağırlık merkezini temsil eden bir (x, y) değeri vermek üzere tracker nesnesindeki değerleri ayarlar. Daha fazla ayrıntı için tracker belgelerine bakın.