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]; }  
       }
    }   
}

沒有留言:

張貼留言