顯示具有 400262458羅郁雯 標籤的文章。 顯示所有文章
顯示具有 400262458羅郁雯 標籤的文章。 顯示所有文章

2013年6月20日 星期四

課程回顧


1. What is your favorite homework?


應該是第一個作業因為是第一次接觸視訊處理感覺很新奇
而且比較簡單


2. What did you learn in this course?
有關openCV的函數
它的使用方法跟涵義
如何做出一份視訊處理作業
遇到困難該如何解決


3. What did you change after this course?
除了得到視訊處理的相關知識
和系上的人有了不一樣的互動
也認識了新的朋友

我的MV

http://www.youtube.com/watch?v=1NX_WuQol2s&feature=youtu.be


終於做好了
歌聲真不是普通難聽阿

HW12


當初在做這個程式的時候好險有把線條的程式存起來
回家照著改就做出圓的了

HW04


融入背景真的好累我試過各種背景
各種角度
如果敏感度太高臉也會被計算成白色
太低衣服也無法感應成白色
原本想用白色變白色
但這樣臉常常會變白
所以只好用奇怪的藍綠色了


下面是會移動的logo
懶懶熊從上移動到下

HW05

實在是太難畫了
原本想寫個字母什麼的
但畫久了會當機
試了好幾次只好隨便亂畫了

2013年6月6日 星期四

HW06












自畫像
根據臉的角度鼻子有可能會消失或出現








上機考

1.    詳細列出bug:
(1)無法顯示三個皇冠
(2)皇冠無法自由選擇
(3)皇冠無法跟著頭頂
2.詳細列出解決bug的流程與方法:
(1) 重複顯示一個的迴圈三次
(2)(3)
詢問同學之後了解這跟Jumping Game的程式一樣拿出程式碼就做出來了
3.心得:
一開始因為太緊張忘記皇冠尺寸會影響視訊所以一直到最後才做出一個皇冠以致於之後的問題都沒做出來

但果然平常不夠努力的關係以致考試無法寫出來

2013年5月16日 星期四

HW09


掙扎了好久終於做出來了
原來因為背景不夠黑的關係
一直無法去背


2013年3月12日 星期二

HW03


這次要做的作業是在視訊上加上相框,因為不知道怎麼調整大小所以直接在小畫家調整了。
課堂練習是將一個圖案或視訊轉成藍色綠色或紅色主要程式如下
for (int y=0; y<pImg->height; y++) { 
  uchar* ptr1=(uchar*) (pImg->imageData +y*pImg->widthStep);
  uchar* ptr2=(uchar*) (bImg->imageData +y*bImg->widthStep);
  for (int x=0; x<pImg->width; x++) {    
     ptr2[3*x]=ptr1[3*x];
     ptr2[3*x+1]=0;
     ptr2[3*x+2]=0;  
     }
}
今天的作業是把視訊加上相框不過我大小沒有調整好
if( (logoImg->height + y1) < mergeImg->height) {
  mergeImg=cvCloneImage(pImg);
  for (int y=0; y<logoImg->height; y++) { 
    uchar* ptr1=(uchar*) (logoImg->imageData +y*logoImg->widthStep);
    uchar* ptr2=(uchar*) (mergeImg->imageData +(y+y1)*mergeImg->widthStep);
   
    for (int x=0; x<logoImg->width; x++) {
//在這裡加上if去除中間白色的部分            
if(ptr1[3*x]<250&&ptr1[3*x+1]<250&&ptr1[3*x+2]<250){
                   
       ptr2[3*(x)]=alpha*ptr1[3*(x)] + (1-alpha)*ptr2[3*(x)];
       ptr2[3*(x)+1]=alpha*ptr1[3*(x)+1] + (1-alpha)*ptr2[3*(x)+1];
       ptr2[3*(x)+2]=alpha*ptr1[3*(x)+2] + (1-alpha)*ptr2[3*(x)+2]; }  
       }
    }   
}

2013年3月1日 星期五

HW02


這次的作業是將彩色的視訊影像改成灰階、黑白和邊緣偵測。比起上一次的作業又更複雜了。
首先先命名四個視窗
其他影像參數都設的和原影像參數一樣大nchannels 都設為1(灰階)
如果將影像參數放進While記憶體會超載會當機。
While裡面放入轉換程式
cvCvtColor彩色轉灰階、cvThreshold灰階轉黑白、cvCanny灰階轉邊緣偵測
show出記憶體這個時候cvWaitKey如果為零的話就只會顯是短暫的執行畫面
所以要改成別的數字
然後最後在DestroyRelease這四個視窗就完成了。
另外cvResize這個function是改變視窗大小。cvResize(來源,目標, 插值方法)
CV_INTER_NN - 最近邻插值,
CV_INTER_LINEAR - 双線性插值 (缺省使用)
CV_INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法..
CV_INTER_CUBIC - 立方插值.
還要改變cvResize的寬和高
dst_cvsize.width=(int)(scr->width*0.5);
dst_cvsize.height=(int)(scr->height*0.5);
這表示目標的寬和高都比來源小0.5倍。
cvDilate() 表示膨脹function: cvDilate(來源,目標,element若為Null則為3*3長方形結構,interation=膨脹次方)
cvErode()表示腐蝕function呼叫和cvDilate一樣。

2013年2月22日 星期五

HW01




CvCapture
一個獲取視頻的抽象接口結構。你可以理解為它能連接攝像頭,然後你想讓攝像頭做什麼,都要用函數調用,它作為參數起到控製攝像頭的作用
IplImage

由於OpenCV主要針對的是計算機視覺方面的處理,因此在函數庫中,最重要的結構體是IplImage結構。 IplImage結構來源於Intel的另外一個函數庫Intel Image Processing Library (IPL),該函數庫主要是針對圖像處理。

這一次的作業主要是要使用cvFlip將一個影像分別產生左右顛倒上下顛倒的四個影像。

首先要先產生4個影像視窗

我的做法是增加名稱Webcam1 Webcam2 Webcam3並寫在cvNamedWindow("Webcam",1);下面

像是

    cvNamedWindow("Webcam",1);

    cvNamedWindow("Webcam1",1);

    cvNamedWindow("Webcam2",1);

    cvNamedWindow("Webcam3",1);

接著使用cvFlip在來源參數上寫上frame,第二個參數可以寫來源參數或NULL,翻轉數我只用到等於1左右顛倒等於0上下顛倒

像是cvFlip(frame,NULL ,1);表示左右顛倒

我寫了三個cvFlip得到以上的結果