前一篇文章:(AI應用) micro:bit/Wukong Breakout Board/Smart AI Lens三方合作用Python撰寫顏色辨識程式
《變色龍與酷炫豬的冒險》
在茂密的森林裡,住著一隻神奇的變色龍。他不僅可以利用AI技術來變換身體的顏色,還學會了一項新技能——人臉辨識。這些技術都是由李永謨老師和敏哥教授共同研發的。
一天,變色龍對他的朋友酷炫豬說:“酷炫豬,我現在有了新技能!當AI發現主人來了,我會呈現笑臉;若不是主人,而是其他動物,我則會顯示哭臉。”
酷炫豬對變色龍的這項新技能感到非常好奇,他問:“那我們可以用這個技能來幫助大家嗎?”
變色龍點點頭:“當然可以!我們可以一起守護這片森林,讓大家都知道誰是朋友,誰是陌生人。”
於是,變色龍和酷炫豬開始了他們的森林守護計畫。每當有動物經過,變色龍都會啟動他的人臉辨識功能。如果AI識別出來的是他的主人李老師,變色龍就會開心地呈現笑臉。如果是其他動物,變色龍就會顯示哭臉,讓酷炫豬知道有陌生人來了。
一天,森林裡的小動物們正在玩耍,突然,一隻從未見過的狐狸悄悄地靠近。變色龍立刻啟動了人臉辨識功能,發現這不是他的主人。他的身體馬上變成了哭臉,並向酷炫豬發出警報。
酷炫豬看到了變色龍的哭臉,知道有陌生人來了。他迅速用他堅硬的大門牙把micro:bit頂在頭上,並且用鼻子發出低沉的警告聲,讓所有的小動物們都警覺起來。
狐狸看到大家都對他保持警惕,明白自己已經被發現了。他無奈地退回了森林深處,不再打擾這群小動物們。
當天晚上,李老師來到了森林裡。變色龍立刻識別出來,開心地變成了笑臉。酷炫豬看到變色龍的笑臉,也歡快地跑過去迎接李老師。
李老師摸了摸變色龍的頭,稱讚道:“你們真是好幫手,今天又保護了大家。”
變色龍和酷炫豬高興地笑了,他們知道,他們的森林守護計畫正在成功進行著。他們不僅能夠保護這片美麗的森林,還能讓大家感到安心和快樂。
從那天起,變色龍和酷炫豬成為了森林裡的英雄,所有的動物們都非常信任和依賴他們。無論白天還是夜晚,他們都用自己的技能守護著這片森林,讓每個角落都充滿了安全和歡笑。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | from microbit import * from AILens import * display.show(Image.HEART_SMALL) ai = AILENS() ai.switch_function(Color) display.show(Image.HEART) mode = 0 sleep(2000) while True: if button_a.was_pressed(): mode += 1 mode %= 2 display.show(mode+1) sleep(500) display.show(Image.HEART_SMALL) if mode == 0: ai.switch_function(Color) else: ai.switch_function(Face ) display.show(Image.HEART) ai.get_image() if mode == 0: if (ai.get_color_type() == "Green"): display.show("G") elif (ai.get_color_type() == "Red"): display.show("R") elif (ai.get_color_type() == "Blue"): display.show("b") elif (ai.get_color_type() == "Yellow"): display.show("Y") elif (ai.get_color_type() == "Black"): display.show("B") elif (ai.get_color_type() == "White"): display.show("W") else: display.show(Image.SAD) else: if ai.get_face(): display.show(Image.HAPPY) else: display.show(Image.SAD) |
1 2 | from microbit import * from AILens import * |
1 2 3 4 | display.show(Image.HEART_SMALL) ai = AILENS() ai.switch_function(Color) display.show(Image.HEART) |
3.模式設置:設置一個變數
mode
來記錄當前的工作模式(0為顏色辨識,1為人臉辨識)。然後讓micro:bit休眠兩秒鐘。1 2 | mode = 0 sleep(2000) |
4.主循環:在主循環中,不斷檢查按鈕A是否被按下。如果被按下,切換模式,並根據模式顯示相應的數字和圖案。根據模式切換AI功能為顏色辨識或人臉辨識。
1 2 3 4 5 6 7 8 9 10 11 12 | while True: if button_a.was_pressed(): mode += 1 mode %= 2 display.show(mode+1) sleep(500) display.show(Image.HEART_SMALL) if mode == 0: ai.switch_function(Color) else: ai.switch_function(Face) display.show(Image.HEART) |
5.圖像獲取與顯示:在每個循環中,獲取AI鏡頭的圖像。如果模式為顏色辨識,則根據不同顏色顯示相應的字母。如果是人臉辨識,則顯示快樂或悲傷的表情。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ai.get_image() if mode == 0: if (ai.get_color_type() == "Green"): display.show("G") elif (ai.get_color_type() == "Red"): display.show("R") elif (ai.get_color_type() == "Blue"): display.show("b") elif (ai.get_color_type() == "Yellow"): display.show("Y") elif (ai.get_color_type() == "Black"): display.show("B") elif (ai.get_color_type() == "White"): display.show("W") else: display.show(Image.SAD) else: if ai.get_face(): display.show(Image.HAPPY) else: display.show(Image.SAD) |
範例二:讓變色龍加上通訊功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | from microbit import * from AILens import * import radio radio.config(group=16) radio.on() display.show(Image.HEART_SMALL) ai = AILENS() ai.switch_function(Color) display.show(Image.HEART) mode = 0 sleep(2000) while True: message = radio.receive() if message: display.show(message) if button_a.was_pressed(): mode += 1 mode %= 2 display.show(mode+1) sleep(500) display.show(Image.HEART_SMALL) if mode == 0: ai.switch_function(Color) else: ai.switch_function(Face ) display.show(Image.HEART) ai.get_image() if mode == 0: if (ai.get_color_type() == "Green"): display.show("G") elif (ai.get_color_type() == "Red"): display.show("R") elif (ai.get_color_type() == "Blue"): display.show("b") elif (ai.get_color_type() == "Yellow"): display.show("Y") elif (ai.get_color_type() == "Black"): display.show("B") elif (ai.get_color_type() == "White"): display.show("W") else: display.show(Image.SAD) else: if ai.get_face(): display.show(Image.HAPPY) radio.send('Owner') else: display.show(Image.SAD) radio.send('non-owner') |
範例三、酷炫猪的接收訊息的功能
1 2 3 4 5 6 7 8 9 10 11 | from microbit import * import radio radio.config(group=16) radio.on() mode = 0 while True: message = radio.receive() if message == 'Owner': display.show(Image.SMILE) elif message == 'non-owner': display.show(Image.SAD) |
沒有留言:
張貼留言