2013年6月10日 星期一
2013年6月9日 星期日
課程回顧
1.最喜歡哪一個程式
這次最有趣的就是用arduno去做模擬鋼琴的功能
連上揚聲器之後在按下按鍵之後就會發出聲音
這樣的專案讓我相當喜歡
2.在課程中學到了什麼
在一開始的arduno其實真的忘了電路板是要怎麼接
後來在慢慢的實作之後漸漸地想起用法
以及朋友的協助之下也成功地完成了一些小專案
後來在OPENCV的時候
有一些影像處理的概念是共通的
也學到了在視訊中要如何偵測顏色
改變顏色等等的用法
視訊處理確實是相當的有趣
但也需要一定的邏輯概念 不然的話就會不知道如何下手
3.這門課上完後有沒有什麼改變
在其中專案的時候專案基本上是一個人作的
但在期末專案的時候和組員一起討論網路上的範例
然後自己慢慢的將概念結合起來並且完成一個程式
雖然那個程式並不特別
但一步一步完成的感覺還是相當有滿足感
這次最有趣的就是用arduno去做模擬鋼琴的功能
連上揚聲器之後在按下按鍵之後就會發出聲音
這樣的專案讓我相當喜歡
2.在課程中學到了什麼
在一開始的arduno其實真的忘了電路板是要怎麼接
後來在慢慢的實作之後漸漸地想起用法
以及朋友的協助之下也成功地完成了一些小專案
後來在OPENCV的時候
有一些影像處理的概念是共通的
也學到了在視訊中要如何偵測顏色
改變顏色等等的用法
視訊處理確實是相當的有趣
但也需要一定的邏輯概念 不然的話就會不知道如何下手
3.這門課上完後有沒有什麼改變
在其中專案的時候專案基本上是一個人作的
但在期末專案的時候和組員一起討論網路上的範例
然後自己慢慢的將概念結合起來並且完成一個程式
雖然那個程式並不特別
但一步一步完成的感覺還是相當有滿足感
上機考心得
這次的上機考在前面幾個步驟算簡單
第一個是做出紅線
再來就是去背
將圖片旁的白色部分去掉
這在之前的程式中有提到 稍作修改既可以套用上去
至於皇冠的部分
就是在影像兩邊偵測膚色
判斷膚色出現在某一邊之後該邊的皇冠會偵測顏色然後隨著移動
for (int x=0; x<logoImg1->width; x++) {
if(ptr1[3*(x)]<252 && ptr1[3*(x)+1]<252 && ptr1[3*(x)+2]<252){
ptr2[3*(x+mouseX-150)]=ptr1[3*(x)];
ptr2[3*(x+mouseX-150)+1]=ptr1[3*(x)+1];
ptr2[3*(x+mouseX-150)+2]=ptr1[3*(x)+2];
for (int x=0; x<logoImg1->width; x++) {
if(ptr1[3*(x)]<250 && ptr1[3*(x)+1]<250 && ptr1[3*(x)+2]<250){
ptr2[3*(x+mouseX-90)]=ptr1[3*(x)];
ptr2[3*(x+mouseX-90)+1]=ptr1[3*(x)+1];
ptr2[3*(x+mouseX-90)+2]=ptr1[3*(x)+2];
這次的上機考遇到最大的問題就是膚色偵測以及讓皇冠跟著移動
但我並沒有成功做出讓皇冠跟著移動
透過這次考試知道視訊處理要考慮相當多東西
也清楚知道自己的CODING能力不足
在考試中寫出一開始的問題之後後來的問題就完全沒有頭緒
邏輯的概念不足造成這種狀況
回家修改之後才完成到上面的程度
第一個是做出紅線
再來就是去背
將圖片旁的白色部分去掉
這在之前的程式中有提到 稍作修改既可以套用上去
至於皇冠的部分
就是在影像兩邊偵測膚色
判斷膚色出現在某一邊之後該邊的皇冠會偵測顏色然後隨著移動
for (int x=0; x<logoImg1->width; x++) {
if(ptr1[3*(x)]<252 && ptr1[3*(x)+1]<252 && ptr1[3*(x)+2]<252){
ptr2[3*(x+mouseX-150)]=ptr1[3*(x)];
ptr2[3*(x+mouseX-150)+1]=ptr1[3*(x)+1];
ptr2[3*(x+mouseX-150)+2]=ptr1[3*(x)+2];
for (int x=0; x<logoImg1->width; x++) {
if(ptr1[3*(x)]<250 && ptr1[3*(x)+1]<250 && ptr1[3*(x)+2]<250){
ptr2[3*(x+mouseX-90)]=ptr1[3*(x)];
ptr2[3*(x+mouseX-90)+1]=ptr1[3*(x)+1];
ptr2[3*(x+mouseX-90)+2]=ptr1[3*(x)+2];
這次的上機考遇到最大的問題就是膚色偵測以及讓皇冠跟著移動
但我並沒有成功做出讓皇冠跟著移動
透過這次考試知道視訊處理要考慮相當多東西
也清楚知道自己的CODING能力不足
在考試中寫出一開始的問題之後後來的問題就完全沒有頭緒
邏輯的概念不足造成這種狀況
回家修改之後才完成到上面的程度
2013年5月27日 星期一
2013年4月22日 星期一
98360206-自畫像
這次的作業在做gray沒有什麼問題
但是在bw等等不知道為什麼就是會閃動以及顯示不出
後來成功解決閃動的問題
以下是重要的程式碼
pImg2 = cvCreateImage(cvSize(pImg->width,pImg->height), IPL_DEPTH_8U, 3);
gray = cvCreateImage(cvSize(pImg->width,pImg->height), IPL_DEPTH_8U, 1);
bw = cvCreateImage(cvSize(pImg->width,pImg->height), IPL_DEPTH_8U, 1);
pCannyImg = cvCreateImage(cvGetSize(pImg), IPL_DEPTH_8U, 1);
pImg=cvQueryFrame(capture);
cvResize(pImg,dst,CV_INTER_NN);
cvCvtColor(pImg, gray, CV_BGR2GRAY);
cvThreshold( gray, bw, 160, 255, CV_THRESH_BINARY );
cvThreshold( pImg, pImg2, 127, 255, CV_THRESH_BINARY );
cvCanny(gray, pCannyImg, 50, 150, 3);
為圖片取得記憶體等等的程式碼
視訊解析感覺相當有趣
訂閱:
文章 (Atom)





