| 0 意見 ]


OpenCV2.0推出已經有很長時間了,但是OpenCV中文站在Linux系統下仍然掛著1.0的安裝教程,最初按照OpenCV1.0的安裝源碼方法直接解壓,配置,安裝無奈錯誤不斷。
?
1
2
3
4
5
6
7
8
#解壓
tar zxvf opencv-2.0.0.tar.gz
cd opencv-2.0.0
#依賴性配置
./configure
#編譯
make
make install

也Google過不少資料,包括這篇這篇(這位同學奇特之處在於其他博文貌似都是某種中東文字寫的),不得不說Google在搜索這組關鍵詞(OpenCV 2.0 Ubuntu)上效果相當不好,讓我走了不少彎路。
不論使用兩篇中的哪一篇,其出錯信息基本都是一致
highgui/cvcap_ffmpeg.cpp:1213: warning: 『AVFormatContext* av_alloc_format_context()』 is deprecated (declared at /usr/include/ffmpeg/avformat.h:873)
我也曾針對這個出錯信息進行檢索,結果令人失望,大量證據表明,這個錯誤信息雖然常見,但是所發求助貼都基本無回應,且基本散佈在日語,俄語,阿拉伯文等各式蝌蚪文中,難道英語人群就沒有人遇到這個錯嗎?最終我在OpenCV官網wiki上找到了答案。
這篇Installation Guide對安裝過程給出了詳細的闡釋,縱觀整個結構,就會發現OpenCV中文站上的VS 08平台搭建與之非常相似,事實上,從2.0開始,OpenCV就用跨平台的GUI make 工具cmake對OpenCV在各個平台下的編譯給了給出了統一方法,在這裡用GUI的cmake就相當於之前的configure對軟件的編譯進行依賴性分析,而後期的make 和 make install 都可以用IDE完成或者terminal裡面直接完成。
對於我之前錯誤的修復,Willow Garag在wiki的一篇文章中 Ubuntu forum還專門開貼討論這一問題,總體思路就是ffmpeg最新的一個穩定版build刪掉了某個OpenCV裡面要用到的函數,致使make不過;解決方案就是用nightly build的ffmpeg,這個build裡面又重新包含了這個函數 :|
這次經歷中,我看到了cmake的強大,一些簡單的GUI交互就免去了用戶大量的命令行指令,使得這個configure非常之光快速。
同樣我也看到linux和win的不同之處,一個開源的系統必定蘊含的多種同樣開源且頻繁更新的視頻I/O,多個發行版的並行,致使這個錯誤發生。

0 意見

張貼留言