vibe.h 和vibe.cpp還有main函式
vibe.h:
#include
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
#define num_samples 20//每個畫素點的樣本個數
#define min_matches 2//#min指數
#define radius 20//sqthere半徑
#define subsample_factor 16//子取樣概率
class vibe_bgs
;void deletesamples() ;
private:
unsigned char ***samples;
//float samples[1024][1024][num_samples+1];//儲存每個畫素點的樣本值
/*mat m_samples[num_samples];
mat m_foregroundmatchcount;*/
mat m_mask;};
vibe.cpp:
#include "vibe.h"
using namespace std;
using namespace cv;
int c_xoff[9] = ; //x的鄰居點
int c_yoff[9] = ; //y的鄰居點
vibe_bgs::vibe_bgs(void)
vibe_bgs::~vibe_bgs(void)
/**************** assign space and init ***************************/
void vibe_bgs::init(const mat _image)}}
m_mask = mat::zeros(_image.size(), cv_8uc1);
}/**************** init model from first frame ********************/
void vibe_bgs::processfirstframe(const mat _image)}}
}/**************** test a new frame and update model ********************/
void vibe_bgs::testandupdate(const mat _image)
if (matches >= min_matches)
// 同時也有 1 / defaultsubsamplingfactor 的概率去更新它的鄰居點的模型樣本值
random = rng.uniform(0, subsample_factor);
if (random == 0)
}else}}
}}}
下面是main函式:
#include "vibe.h"
#include
using namespace cv;
using namespace std;
int time = 0;
int main(int argc, char* argv)
vibe_bgs vibe_bgs;
bool count = true;
while (1)
else
}imshow("input", frame);
if (cvwaitkey(10) == 27)
break;
}return 0;
}
opencv3 1 距離變換
distancetransform函式 到邊緣點的距離 黑色的 0 都認為是邊緣 兩種呼叫方式 distancetransform edge,dist,disttype,masksize distancetransform edge,dist,labels,disttype,masksize,lab...
深度學習2 安裝opencv3 1
2 以下內容來自 本人因為被坑過,所以建議各位最好在安裝caffe第三方庫前安裝 opencv。主要原因是caffe官網要安裝 apt get install libopencv dev 命令會導致你安裝的opencv版本與此產生版本衝突,所以建議先安裝opencv。不然你衝突了還要解除安裝重新安裝...
opencv3 1安裝後環境變數配置及demo測試
1 環境變數配置 sudo gedit etc ld.so.conf.d opencv.conf寫入 usr local lib sudo ldconfig2 sudo gedit etc profile gedit指令會開啟乙個檔案視窗,在開啟的檔案視窗中輸入一下兩行 export pkg con...