2017年2月7日 星期二

Leetcode solution: Remove Element

Leetcode solution: Remove Element

簡單的移除陣列中的元素,即 Array中有val值的元素就剃除
以nStart計算保留的數量,直接結束時直接return nStart
程式碼以C撰寫,夠簡單吧!

int removeElement(int* nums, int numsSize, int val) {
int i;
int nStart = 0;

    for(i=0; i<numsSize; i++)
{
if (nums[i] != val)
nums[nStart++] = nums[i];
}

return nStart;
}

2011年3月20日 星期日

計時器 + 偵測a

目前功能有
左排的計時10分鐘、計時20分鐘
右排的自訂計時功能,下方偵測到a輸入後開始計時
計算輸入a的次數
配合FAAST即舉起右手=a



過程中有遇到的問題在以下解釋(其實是被阿達逼的...

  • 讓xxxx中的Text等於a時進行條件式
    我打 if(xxxx->Text="a") 會錯誤
    因為一個等於在程式中代表著把後面的值給到前者
    例如 x=a 就是讓 a的值指定給 x
    所以我要的是如果xxxx->Text是a時才進行
    就要打 if(xxxx->Text=="a") 雙等號
  • Int32::Parse的用法
    將數字的字串表示轉換成它的對等 32 位元帶正負號的整數
    例如a=Int32::Parse(textBox1->Text) 就是將textBox1裏頭的數字傳給a
    因為數字不大所以我用Int16

2011年3月11日 星期五

3/10 研究心得 初步簡略程式碼

用 FAAST 把 Kinect 當 Windows 鍵盤用! 引起我很大的興趣,
現代人運動量不足的狀況可能可以用此方式遊戲來補足,進而增進身體健康,
當然我們現在的工作不是要研究遊戲。


以下是目前做出程式碼部分:




#include <iostream>
#include <conio.h>
using namespace std;
int main() {
      int i = 0;
   char input;
   cout << "開始測試";
   start:
   input = getch();
    while(input=='a')
    {
      i++;
      cout<<i;
      goto start;
    }
   system("pause");

   return 0;
}


在FAAST中設定right_arm_up 5 a
也就是右手舉起5英寸即輸入a
對應到程式碼就是每舉起一次右手便計數+1
但是程式碼目前還太粗糙,需要加以修改美化
例如
1.偵測到其他按鍵不會導致程式結束
2.計數時會把舊的數字清除(像碼表)




今天在做出這樣的程式碼後總算有點了信心(雖然只是非常簡單的東西),
比起看文書、網路資料,我比較喜歡實際操作,
雖然上呈之程式碼不難卻足夠讓我想一段時間、查資料才做出來,
顯示現在實力不足的狀況下還是需要多看點教學及說明。


Kinect我可能會存2個月左右的打工錢去買,
我對這東西真的蠻有興趣的,
但對自己能不能做出想要的成品還是感到疑慮,
因為以前沒有好好學習語言,現在的語言基礎不好,
需要惡補一下才行。
今天感謝實驗室的學長幫忙,沒人問的話我真的會想破頭!







相關連結
透過 OpenNI / NITE 分析人體骨架(上)
透過 OpenNI / NITE 分析人體骨架(下)
用 FAAST 把 Kinect 當 Windows 鍵盤用!

2011年2月23日 星期三

Kinect - 影像辨識技術

Kinect資料很豐富,先張貼日後慢慢整理


Kinect一次可擷取三種東西,分別是彩色影像、3D深度影像、以及聲音訊號。三鏡頭分別為紅外線發射器、RGB彩色攝影機、紅外線CMOS攝影機所構成的3D深度感應器。Kinect主要就是靠3D深度感應器偵測玩家的動作,中間的鏡頭則是用來辨識身分(靠臉部及身體特徵)。同時具有追焦功能,底座馬達最多可左右旋轉27度。
-3D與2D測量差別在於多了深度影像(depth image
-可參見play.com來檢視Kinect詳細規格

圖源Omek


Kinect利用Primesenser 紅外線3D感測技術來偵測肢體動作
圖源primesense

















備有攝影以及麥克風(音源輸入)的功能
透過紅外線脈衝光反射 3D 感測技術來取得深度圖像
圖源primesense




採用 PS1080 專屬整合系統晶片進行相關資料處理
圖源primesense
可用手勢操控視窗框架,以及完整的人體骨架分析系統


可參考Primesense影片:



一些資料網站:


Canesta相關資料 (Primesense之競爭對手):

2011年2月19日 星期六

身心障礙體驗營 - 精障者的處境

2/14及2/16,原本應是見見一個月沒看到的同學們,不過因為張老師的關係,我們知道有一個身心障礙體驗營的活動,或許在我們參與的過程中所看到事物,能找到我們對專題構思的靈感。也好,才剛開學事情比較少,參加看看可能會有什麼新見聞。



2/14
早上是我第一次見到淑芳姊,為我們說明有關於精障障礙的事情,幫助我們對精障者有進一步的瞭解。過程中除了談到關於精障的知識,也有很多其他方面--如宗教觀、人格、待人處事等等,很佩服淑芳姊的邏輯思考可以這麼清晰,我們有很多問題他都能一一剖析。我也有提到了我以前曾經與精障者相處過,那是在國小、國中的事情了,因為大家都還不成熟,不懂得體諒,所以對於精障者有排斥的行為,有時候他發生事情了,他的母親會在學校哭,有這麼一個孩子,父母的壓力肯定很大。我們對於異於正常人的同胞,應予以更多包容才是。行程中一起參與討論的學長,好像邏輯都很清楚,也都很會思考,感覺各各都比我聰明,有時我會比較愚鈍,反應慢了點。

下午是我覺得整個行程最棒的時候了,除了吃大餐,也有自己動手做披薩,真的很好玩。
↑自己做的素食披薩,蠻清爽的















我們午餐地點的pizza hut,是有雇用精障者的店面(據說剛開始就是淑芳姊介紹),但是就我看來,跟一般人沒什麼兩樣。店長也舉其中一位例子,除了不太理人之外其他都很正常,做工作也就埋頭苦幹,不會抱怨---能幫很多忙。
在我們用餐完畢時,也請嘉安姊來說他親身歷程--簡直就是傳奇故事,除了在一夕之間得精神分裂症,也飽受了被原本結婚對象拋棄、事業跌落谷底的痛苦,我想大部分的人很可能從此一蹶不振,有這種毅力、勇氣能夠克服難關的人就站在我們面前。她很漂亮,內心也很漂亮!



2/16
上午一樣在心朋友的店見面,這次有請來自清華大學博士班的瑞華姊來跟我們說田野調查的事項,做了很多討論。因為討論完已經中午的關係,直接在那邊用餐(我個人覺得那邊東西還蠻好吃的,早餐的巧巴達、總匯貝果都不錯)。
下午去了花博,剛開始我沒頭緒來這麼要做什麼,進去之後才知道,裏頭有一位精障者似乎需要幫忙。見到她之後,我們在當場就是在討論,需要什麼幫忙之類的事情,但是她在的談話中感覺出來她根本就是一般人嘛!好像根本沒什麼問題。聽她說目前最大的困難是人際關係,這可是很難處理的部分,要靠科技之類的似乎無法幫得上忙,我們也有給一些意見,例如多微笑、打招呼等等,但是實際上我們是很能幫得了的,這得要靠自己。之後到她的掃地區域才知道,其實今天就是要她"表演"掃地給我們看的,因為她這幾天情緒不穩,似乎有點抗拒工作。聽帶她的人說,她是有強迫性思想,可能看到別人說話就覺得在講她壞話之類的,但是其他部分我們看起來都很正常,所以我才會覺得她是正常人吧。
後來學長提了個意見,我們便做了一個空前絕後的事情--在花博掃地!這可是一般人無法體驗到的哪!因為她的掃區落葉實在太多,一個人可能要掃非常久,我們集眾人之力來掃比較快,但是我們這麼多人也掃了將近一小時,如果她要一個人掃真的是要很久!
其實最後還是很開心,因為在快掃完時那位學員有說「今天是我最開心的一天」,聽到這句話似乎疲勞都消了,助人為快樂之本,何樂不為?


我自己對精障者的感覺,他們就像一般人一樣,只是有某些情緒或特質,舉例來說不理人、怕生、聒噪等等都是,不過我還沒見過有精神分裂症的人(即是幻聽、幻視、幻覺其中之二),所以比較不清楚是什麼狀況。行程結束我也跟我的夥伴討論精障者的特徵以及有可能需要的幫助,一步步分析來看能做設計什麼樣的東西來協助。