基于OpenCV和dlib的人臉交換踩坑記錄篇

嘗試探索基于OpenCV和dlib建立的faceswap應(yīng)用程序的過(guò)程中备禀,從部署環(huán)境到程序順利跑通斤寇,踩了許許多多的坑,記錄下來(lái)以便參考表箭。



下載并部署OpenCV——win10+vs2015+CV3.2

解壓之后可以看到是x64版,world整合版钮莲。


先添加了環(huán)境變量免钻,然后在vs中新建項(xiàng)目配置OpenCV環(huán)境彼水,在屬性中修改包含目錄,庫(kù)目錄极舔,以及l(fā)inker的附加依賴項(xiàng)凤覆,此時(shí)要注意配置的是debug時(shí),附加依賴項(xiàng)為opencv_world320d.lib,配置release時(shí)拆魏,附加依賴項(xiàng)是opencv_world320.lib盯桦。

然后放入OpenCV樣例代碼——bingo,出錯(cuò)了-_-

提示missing OpenCV——world320d.dll

解決:在64位debug模式下稽揭,將opencv文件下的/x64/vc14/bin下面的3個(gè)dll文件拷貝到C盤system32文件夾中;或者環(huán)境變量path中加入OpenCV_world.dll的路徑肥卡,重新啟動(dòng)工程編譯運(yùn)行即可溪掀。再次注意此方法適用win10+64位+debug模式

測(cè)試程序:

#include using namespace cv;

int main()

{ Mat picture = imread("wallpaper.jpg");

//圖片必須添加到工程目錄下

?imshow("測(cè)試程序", picture);

waitKey(20150901); }


下載并部署dlib——dlib19.7+vs2015

針對(duì)編譯報(bào)錯(cuò)USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives FaceSwap

解決先用cmake編譯dlib文件,生成build中包含dlib.sln,在vs中打開(kāi)并在Debug x64設(shè)置下生成解決方案步鉴,得到我們所需要的dlib.lib文件揪胃。之后在鏈接器->輸入->附加依賴項(xiàng)中添加dlib.lib。但是在運(yùn)行項(xiàng)目時(shí)氛琢,需要把dlib-19.7\dlib下所有文件拷貝至vs project相應(yīng)的路徑下喊递,其中包含all/source.cpp文件以及該文件調(diào)用的所有資源文件,注意source.cpp需要被添加到本項(xiàng)目的源文件與其他源碼一同編譯運(yùn)行阳似,并注意文件的相對(duì)路徑名(../xx.cpp).



然后重新編譯運(yùn)行就接觸到了下一個(gè)bug.——source.cpp中節(jié)數(shù)超過(guò)對(duì)象文件格式限制 請(qǐng)使用 /bigobj 進(jìn)行編譯

解決:屬性–>C/C++–>Command Line–>其他選項(xiàng) 添加 /bigobj 選項(xiàng)骚勘。

原因:默認(rèn)情況下,目標(biāo)文件最多可容納65,536(2 ^ 16)個(gè)可尋址部分撮奏。無(wú)論指定了哪個(gè)目標(biāo)平臺(tái)俏讹,都是如此。/ bigobj將地址容量增加到4,294,967,296(2 ^ 32)畜吊。大多數(shù)模塊永遠(yuǎn)不會(huì)生成包含超過(guò)65,536個(gè)部分的.obj文件泽疆。但是,機(jī)器生成的代碼或使用模板庫(kù)的代碼可能需要可容納更多部分的.obj文件玲献。



程序運(yùn)行

經(jīng)過(guò)上述努力殉疼,程序終于可以開(kāi)始運(yùn)行,然后就提示了VideoCapture does not work. OpenCV 3.2.0

感謝來(lái)自GitHub的討論

bug顯示頁(yè)↓

SETUP: Setting up device 0

SETUP: WebCam SC-13HDL11624N

SETUP: Couldn't find preview pin using SmartTee

SETUP: Default Format is set to 640x480

SETUP: trying specified format RGB24 @ 640x480

SETUP: Capture callback set

SETUP: Device is setup and ready to capture.

Event: Code: 0x0d Params: 0, 0 Event: Code: 0x0e Params: 0, 0 Event: Code: 0x03 Params: -2147024891, 0

解決:修改調(diào)用harrcascade_frontalface_default.xml和shape_predictor_68_face_landmarks.dat的路徑為當(dāng)前路徑捌年,另外要在設(shè)置->隱私->相機(jī)開(kāi)啟其他應(yīng)用調(diào)用相機(jī)的權(quán)限瓢娜,才能成功的調(diào)用相機(jī)實(shí)現(xiàn)換臉功能。


最后終于成功跑通~


換臉效果圖
時(shí)間幀率顯示結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末礼预,一起剝皮案震驚了整個(gè)濱河市恋腕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逆瑞,老刑警劉巖荠藤,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伙单,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡哈肖,警方通過(guò)查閱死者的電腦和手機(jī)吻育,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)淤井,“玉大人布疼,你說(shuō)我怎么就攤上這事”液荩” “怎么了游两?”我有些...
    開(kāi)封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)漩绵。 經(jīng)常有香客問(wèn)我贱案,道長(zhǎng),這世上最難降的妖魔是什么止吐? 我笑而不...
    開(kāi)封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任宝踪,我火速辦了婚禮,結(jié)果婚禮上碍扔,老公的妹妹穿的比我還像新娘瘩燥。我一直安慰自己,他們只是感情好不同,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布厉膀。 她就那樣靜靜地躺著,像睡著了一般二拐。 火紅的嫁衣襯著肌膚如雪站蝠。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天卓鹿,我揣著相機(jī)與錄音菱魔,去河邊找鬼。 笑死吟孙,一個(gè)胖子當(dāng)著我的面吹牛澜倦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杰妓,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼藻治,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了巷挥?” 一聲冷哼從身側(cè)響起桩卵,我...
    開(kāi)封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后雏节,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體胜嗓,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年钩乍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辞州。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寥粹,死狀恐怖变过,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涝涤,我是刑警寧澤媚狰,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站阔拳,受9級(jí)特大地震影響崭孤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衫生,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一裳瘪、第九天 我趴在偏房一處隱蔽的房頂上張望土浸。 院中可真熱鬧罪针,春花似錦、人聲如沸黄伊。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)还最。三九已至墓阀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拓轻,已是汗流浹背斯撮。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扶叉,地道東北人勿锅。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像枣氧,于是被迫代替她去往敵國(guó)和親溢十。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容