顯示具有 98360206林承翰 標籤的文章。 顯示所有文章
顯示具有 98360206林承翰 標籤的文章。 顯示所有文章

2013年6月9日 星期日

課程回顧

1.最喜歡哪一個程式
這次最有趣的就是用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能力不足
在考試中寫出一開始的問題之後後來的問題就完全沒有頭緒
邏輯的概念不足造成這種狀況
回家修改之後才完成到上面的程度




相框

相框在這次的裡面
遇到的困難有要去背等等
在一開始的時候找到的相框太大
導致程式無法辨別
之後遇到的問題就是如何把相框中間去背
在成功去背之後這作業就完成了


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);

為圖片取得記憶體等等的程式碼
視訊解析感覺相當有趣