背景法是:將一幅圖作為背景,讓後和每一幀對比;缺點是一開始存入的背景可能隨光照變法而造成錯誤,但是可以用在光照環境穩定的地方,優點是可以檢測之前背景沒有的景象;
差幀法是:將前一幀和後一幀進行對比;缺點是無法對運動後突然又靜止的景象進行識別,優點是光照不影響;
例項背景法:
///運動檢測,攝像頭檢測,背景法
mat movedetectback(mat background,mat frame);//宣告運動檢測函式
void imgmovedetectionback()
mat frame;//儲存幀
mat background;//儲存背景影象
mat result;//儲存結果影象
//先儲存背景
bool firstf= cap.read(frame); // 先獲取一幀
//異常處理
if (!firstf)
else
//儲存背景
while (1)
///if (frame.empty())//對幀進行異常檢測
//將背景和每一幀做差
result = movedetectback(background, frame);//呼叫movedetect()進行運動物體檢測,返回值存入result
imshow("result", result);
//if (waitkey(30) == 27) //按鍵退出
}waitkey(10);
cap.release();
}//檢測函式
mat movedetectback(mat background, mat frame)
return result;//返回result
}
效果:
差幀法:
///運動檢測3,攝像頭檢測,差幀法
mat movedetect3(mat background,mat frame);//宣告運動檢測函式
void imgmovedetection3()
mat frame;//儲存幀
mat temp;//儲存前一幀影象
mat result;//儲存結果影象
while (1)
///if (frame.empty())//對幀進行異常檢測
if ( temp.empty())//如果temp為空則為第一幀
else//若不是第一幀(temp有值了)
imshow("result", result);
temp = frame.clone();
//if (waitkey(30) == 27) //按鍵退出
}waitkey(10);
cap.release();
}//檢測函式
mat movedetect3(mat background, mat frame)
return result;//返回result
}
效果:
C 學習筆記四十二 函式過載
函式多型 函式過載 使我們能夠使用多個同名的函式。多型 是指有多種形式。函式多型允許函式有多種形式,函式過載是指可以有多個同名的函式,對名稱進行了過載。這兩個術語指的是同一件事。可以通過函式過載來設計一系列函式 它們完成相同的工作,但使用不同的引數列表。函式過載的關鍵是函式的引數列表 也成為函式特徵...
Python學習札記 四十二 IO 2
1.stringio 顧名思義就是在記憶體中讀寫str。usr bin env python from io import bytesio as stringio def main f stringio f.write hi f.write f.write all print f.getvalue ...
Directx11教程四十二下之進行骨骼動畫的渲染
前面兩小節分別說明了骨骼動畫的數學原理和一種骨骼動畫格式m3d的讀取,這一節講解渲染的思路。其實,進行骨骼動畫的渲染,整體思路是 第一,求出某個動畫片段下某乙個時間點下所有骨骼的finalmatrix 由骨骼在某一幀的pos,scale,quat求出 第二,由於 第一 中渲染骨骼動畫的時間點可能不在...