2013年5月26日 星期日

98360196_林志光_上機考


這一次上機考用到的都是老師教過的應用
其中花我最多時間的是去背皇冠的部分
一開始想用繪圖軟體去除背景,後來發現似乎不是這樣
在老師提示IF去判斷後馬上就知道了
其中兩螢幕之間皇冠不同是使用
if(mousex1<160)
if(mousex1>160)
去判斷當所抓到的目標座標位置,也就是X軸
由於螢幕畫面是320*480,所以就是320/2=160了
去背的部分是

 if( (KingHat1->height + mousey1) < Img->height)
  {
  for (int y=0; y<KingHat1->height; y++) {
    uchar* ptr1=(uchar*) (KingHat1->imageData +y*KingHat1->widthStep);
    uchar* ptr2=(uchar*) (Img->imageData +(y+mousey1)*Img->widthStep);
 
    for (int x=0; x<KingHat1->width; x++) {
     
        if(ptr1[3*(x)]!=255&&ptr1[3*(x)+1]!=255&&ptr1[3*(x)+2]!=255)  {
       ptr2[3*(x+mousex1)]=ptr1[3*(x)] ;
       ptr2[3*(x+mousex1)+1]=ptr1[3*(x)+1] ;
       ptr2[3*(x+mousex1)+2]=ptr1[3*(x)+2];    }
     
       }
    }  
    }  
判斷當不是白色的時候即顯示皇冠,來達成去背的目標
這兩者就這一次上機考當下學到最大收穫的部分

沒有留言:

張貼留言