voc-release5在window下編譯總結

采用matlab2012a, vs2013和2013編譯器:

(1)resize.cc features.cc :

實現(xiàn)round函數(shù) : inline int round(float a){return ((int)(a + 0.5f));}

同時:#define bzero(a, b) memset(a, 0, b)

基本的c++編程錯:

alphainfo *ofs = new alphainfo[len]; // c++不支持變量類型的數(shù)組大小定義

............

delete []ofs;

ofs = NULL;

(2)fv_cache: sigaction // 注釋fv_cache.cc中所有相關代碼洼哎;

fv_compile.m:

% if ispc

% ? error('This code is not supported on Windows.');

% end ? ? ?// 注釋掉 compile.m中對應語句類似處理

model.h:#define INFINITY INT_MAX

obj_fun.cc:

基本的c++錯:

double *hnrms2 = new double[M.num_components];

..........

delete []hnrms2;

hnrms2 = NULL;

double *pc = new double[M.num_components];

...................

delete []pc;

pc = NULL;

(3) gdetect

bounded_dt.cc, dt.cc:typedef int int32_t;

#define INFINITY INT_MAX

fconvsse.cc, fcon_var_dim_MT.cc:

將gdetect_dp.m中進行如下修改與注釋:

%if size(pyra.feat{level},3) == 32

% Faster SSE version (fconvsse.cc) that can only handle 32-dim features

% ? r = fconv(pyra.feat{level}, filters, 1, length(filters));

% else

% More general convolution code to handle non-32-dim features

% e.g., the HOG-PCA features used by the star-cascade

r = fconv_var_dim(pyra.feat{level}, filters, 1, length(filters)); ? ? ? ? ? ? ?// 直接調用fconv_var_dim.mex64

% end

如需用fconvsse.cc碾褂,則部分更改如下:

#include "pthread.h"

#pragma comment(lib, "pthreadVC.lib") // 支持windows下的pthread線程庫

....................

//_m_empty(); ? ? ? ?// 注釋掉法褥,該函數(shù)清楚寄存器

float *F = (float *)_aligned_malloc(dims[0]*dims[1]*NUM_FEATURES*sizeof(float), 16); //?_aligned_malloc為系統(tǒng)api

(4)star-cascade

cascade.cc :#define INFINITY INT_MAX

cascade_compile.m

% if ispc

% ? error('This code is not supported on Windows.'); ? ? ? ? ? ? ? ? ? ?// 注釋掉艇挨,判斷平臺類型

% end

timer.h:

#include

#include

#include

// 定義timer結構體

class timer {

struct timeval {

long tv_sec;

long tv_usec;

};

// 定義gettimeofday函數(shù)

private:

int gettimeofday(struct timeval *tp, void *tzp) {

time_t clock;

struct tm tm;

SYSTEMTIME wtm;

GetLocalTime(&wtm);

tm.tm_year ? ? = wtm.wYear - 1900;

tm.tm_mon ? ? = wtm.wMonth - 1;

tm.tm_mday ? ? = wtm.wDay;

tm.tm_hour ? ? = wtm.wHour;

tm.tm_min ? ? = wtm.wMinute;

tm.tm_sec ? ? = wtm.wSecond;

tm. tm_isdst ? ?= -1;

clock = mktime(&tm);

tp->tv_sec = clock;

tp->tv_usec = wtm.wMilliseconds * 1000;

return (0);

}

(5) eval函數(shù):

try

eval(mexcmd);

catch e

end

(6)utils

procid.m:

i = strfind(d, '\');

(7)compile.m:

% if ispc

% ? error('This code is not supported on Windows.');

% end

try///////////////////////////////////////

if nargin < 3

% Build feature vector cache code

fv_compile(opt, verb);

% Build the star-cascade code

cascade_compile(opt, verb);

eval([mexcmd ' features/resize.cc']);

eval([mexcmd ' features/features.cc']);

eval([mexcmd ' gdetect/dt.cc']);

eval([mexcmd ' gdetect/bounded_dt.cc']);

eval([mexcmd ' gdetect/get_detection_trees.cc']);

eval([mexcmd ' gdetect/compute_overlap.cc']);

% Convolution routine

% ? Use one of the following depending on your setup

% ? (0) is fastest, (2) is slowest

% 0) multithreaded convolution using SSE

%eval([mexcmd ' gdetect/fconv.cc']);

% 1) multithreaded convolution

%eval([mexcmd ' gdetect/fconv_var_dim_MT.cc -o fconv']);

% 2) basic convolution, very compatible

% eval([mexcmd ' gdetect/fconv_var_dim.cc']);

% Convolution routine that can handle feature dimenions other than 32

% 0) multithreaded convolution

%eval([mexcmd ' gdetect/fconv_var_dim_MT.cc']);

% 1) single-threaded convolution

eval([mexcmd ' gdetect/fconv_var_dim.cc']);//////////////////////////////////////////////////////////////////////單線程,非sse版本

else

eval([mexcmd ' ' mex_file]);

end

catch e ? ? ? ? ? ? ? ? ?////////////////////////////////////////////////////////////////////////////////////////

warning(e.identifier, 'dddd');

end//////////////////////////////////////////////////////////////

(8)demo.m:

%compile;

(9)pascal.m

diary(conf.training.log([cls '-' timestamp])); // 注釋掉负懦,報錯

(10)voc_config.m

BASE_DIR ? ?= 'f:/code';

conf = cv(conf, 'pascal.dev_kit', [conf.paths.base_dir '/VOCdevkit/']); ?// 注意配置這幾句筒捺,?VOCdevkit路徑

(11)出現(xiàn)系統(tǒng)奔潰問題:

解決方法:resize()函數(shù)改成imresize()函數(shù)

(12)出現(xiàn)features函數(shù)參數(shù)數(shù)據(jù)不匹配的問題

解決方法:重新編譯,運行compile纸厉,知道編譯通過

(13)出現(xiàn)找不到頭文件問題:

解決方法:將#include 改成#include

(14)第五版本的模型與其它版本模型差距較大系吭,如需轉換成VS可識別文件,建議使用第五版本颗品。

參考鏈接:地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末村斟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抛猫,更是在濱河造成了極大的恐慌蟆盹,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闺金,死亡現(xiàn)場離奇詭異逾滥,居然都是意外死亡,警方通過查閱死者的電腦和手機败匹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門寨昙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掀亩,你說我怎么就攤上這事舔哪。” “怎么了槽棍?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵捉蚤,是天一觀的道長抬驴。 經(jīng)常有香客問我,道長缆巧,這世上最難降的妖魔是什么布持? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮陕悬,結果婚禮上题暖,老公的妹妹穿的比我還像新娘。我一直安慰自己捉超,他們只是感情好胧卤,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拼岳,像睡著了一般枝誊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上裂问,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音牛柒,去河邊找鬼堪簿。 笑死,一個胖子當著我的面吹牛皮壁,可吹牛的內容都是我干的椭更。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼蛾魄,長吁一口氣:“原來是場噩夢啊……” “哼虑瀑!你這毒婦竟也來了?” 一聲冷哼從身側響起滴须,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤舌狗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扔水,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痛侍,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年魔市,在試婚紗的時候發(fā)現(xiàn)自己被綠了主届。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡待德,死狀恐怖君丁,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情将宪,我是刑警寧澤绘闷,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布橡庞,位于F島的核電站,受9級特大地震影響簸喂,放射性物質發(fā)生泄漏毙死。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一喻鳄、第九天 我趴在偏房一處隱蔽的房頂上張望扼倘。 院中可真熱鬧,春花似錦除呵、人聲如沸再菊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纠拔。三九已至,卻和暖如春泛豪,著一層夾襖步出監(jiān)牢的瞬間稠诲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工诡曙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留臀叙,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓价卤,卻偏偏與公主長得像劝萤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子慎璧,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內容

  • 不支持上傳文件床嫌,所以就復制過來了。作者信息什么的都沒刪胸私。對前端基本屬于一竅不通厌处,所以沒有任何修改,反正用著沒問題就...
    全棧在路上閱讀 1,952評論 0 2
  • 這篇文章著重強調了“不要過多使用套句”岁疼。雅思考試中嘱蛋,閱卷人都是外國人,對重點把握很準五续,過多使用套句只會讓他們感覺你...
    Dorts閱讀 220評論 2 1
  • controller里面代碼太多洒敏,這個問題一直都有,其中最嚴重的估計就是tableView的代理了疙驾,每當我們在頁面...
    隔壁班小明閱讀 779評論 0 6
  • 空生秒有養(yǎng)生館即將開業(yè)大吉凶伙,本館以自己健康是美德,傳播健康是公德為宗旨它碎,以中國傳統(tǒng)習俗及中醫(yī)傳統(tǒng)療法為原則函荣,靈動設...
    雪蘭花閱讀 432評論 0 0
  • 我希望識別屏幕改變之后的寬與高显押,即clientWidth和clientHeight,但在微信的ios版測出了bug...
    stois閱讀 1,560評論 0 1