當前位置:編程學習大全網 - 編程語言 - linux下安裝opencv必需要先安裝ffmpeg嗎

linux下安裝opencv必需要先安裝ffmpeg嗎

如果想用opencv播放壹些視頻文件,比如avi、mpeg等之類的,少了ffmpeg自然是不行的了。 具體的作法如下:

1、獲得ffmpeg:

通過cvs下載ffmpeg, 命令行輸入: svn checkout ffmpeg_svn_addr ffmpeg

2、配置ffmpeg:

進入ffmpeg目錄,執行 ./configure --enable-shared --prefix=/usr (enabled-shared估計都知道意思,但是為什麽要 prefix=/usr呢,這得從opencv的CMakeLists.txt和heighgui下的cvcap_ffmpeg.cpp說起了,這裏涉及到的問題不要使路徑問題,但是也就是這個問題,搞得我去了壹個早上。cMakeLists.txt中關於檢測是否有安裝ffmpeg時,默認是到/usr下去檢測相應的頭文件之類的是否存在的,但是ffmpeg的默認安裝是安裝在/usr/local下的,問題就來了,所以改壹下安裝路徑opencv在cmake .時就無法檢測到妳是否已經安裝了ffmpeg);

3、make;su -c "make install";

4、接下來要做的工作就是關系到opencv能否成功將ffmpeg的相關頭文件編譯進來的問題了:

4.1)、首先在/usr/include下執行以下命令(root):

mkdir ffmpeg;

cp libav* libsw* ffmpeg; //之所以這麽做,是因為opencv configure時檢查是否已安裝

ffmpeg是在這檢查的

4.2)、cmake .; //註意,cmake 和.之間有空格, 如果以上步驟都沒錯的話,壹概可以看到 opencv的

configure結果中ffmpeg為1,不是之前的0,說明我們成功了。

4.3)、make install;

5、將/usr/local/lib/pkgconfig下的opencv.pc cp到/usr/lib/pkgconfig下,這壹步也可以做,只是壹個配置文件,大不了編譯時自己指定頭文件和庫麽,其實妳打開opencv.pc壹看就知道是什麽玩意了。

6、root下, vim /etc/ld.so.conf, 增加壹行, /usr/local/lib (因為opencv的庫文件在local,默認情況下local/lib中的庫文件是不在系統啟動時被load的)

7、ldconfig;

  • 上一篇:簡單計算器圖形編程代碼是什麽?
  • 下一篇:中頻電焊機與工頻電焊機的區別?
  • copyright 2024編程學習大全網