2010年6月13日 星期日

HW08: Background Subtraction


這是期中專題後另一個領域,就是利用背景的差異來判定是不是有影像的更新,所以一開始攝影機在偵測的時候不能夠有人,接著延伸的作業是人要站在灰色的框內,超出就會被扣分,這個部分用到的是pixel的運算:
for (int y=0; yheight; y++) {
uchar* ptr1=(uchar*) (maskImg->imageData +y*maskImg->widthStep);
uchar* ptr2=(uchar*) (difference1->imageData +y*difference1->widthStep);
for (int x=0; xwidth; x++) {
if (ptr1[3*x] != 255 && ptr1[3*x+1] != 255 && ptr1[3*x+2] != 255 )
score3++;
if (ptr2[x] == 255) {
if (ptr1[3*x] == 255 && ptr1[3*x+1] == 255 && ptr1[3*x+2] == 255 )
score1++;
else
score2++;
}
}
}

(ptr1[3*x] != 255 && ptr1[3*x+1] != 255 && ptr1[3*x+2] != 255表示圖片以外的白色
然後如果有點在白色的區域裡面,就是扣分的計算,否則就是得分。
這個作業蠻有趣的,因為他不需要很困難的程式撰寫,只要幾個迴圈去處理就好了
ps. model是我室友,他打電動打到一半被我叫出來截圖

沒有留言:

張貼留言