CentOS下OpenCV無法讀取視頻文件的解決方法
在CentOS下,按照教程的步驟安裝OpenCV,但到最后無法讀取視頻文件,原因是缺少了ffmpeg。于是通過CentOS中的軟件管理安裝ffmqeg,但還是沒有效果。然后對ffmpeg進行編譯,還是沒有效...
在CentOS下,按照教程的步驟安裝OpenCV,但到最后無法讀取視頻文件,原因是缺少了ffmpeg。于是通過CentOS中的軟件管理安裝ffmqeg,但還是沒有效果。然后對ffmpeg進行編譯,還是沒有效果。其實漏了一個關(guān)鍵步驟,就是將ffmpeg于OpenCV關(guān)聯(lián)起來。具體如下:
1、獲得ffmpeg:
通過cvs下載ffmpeg, 命令行輸入: svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
2、配置ffmpeg:
進入ffmpeg目錄,執(zhí)行 ./configure --enable-shared --prefix=/usr (enabled-shared估計都知道意思,但是為什么要 prefix=/usr呢,這得從opencv的CMakeLists.txt和heighgui下的cvcap_ffmpeg.cpp說起了,這里涉及到的問題不要使路徑問題,但是也就是這個問題,搞得我去了一個早上。cMakeLists.txt中關(guān)于檢測是否有安裝ffmpeg時,默認是到/usr 下去檢測相應(yīng)的頭文件之類的是否存在的,但是ffmpeg的默認安裝是安裝在/usr/local下的,問題就來了,所以改一下安裝路徑opencv在 cmake .時就無法檢測到你是否已經(jīng)安裝了ffmpeg);
3、make;su -c "make install";
4、接下來要做的工作就是關(guān)系到opencv能否成功將ffmpeg的相關(guān)頭文件編譯進來的問題了:
4.1)首先在/usr/include下執(zhí)行以下命令(root):
mkdir ffmpeg;
cp libav* libsw* ffmpeg; //之所以這么做,是因為opencv configure時檢查是否已安裝ffmpeg是在這
檢查的
4.2)cmake .; //注意,cmake 和.之間有空格, 如果以上步驟都沒錯的話,一概可以看到 opencv的
configure結(jié)果中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中的庫文件是不在系統(tǒng)啟動時被load的)
7、ldconfig。
- CentOS7.3怎么安裝?使用DVD ISO鏡像安裝CentOS7.3的方
- CentOS部署kodexplorer可道云搭建私有網(wǎng)盤的方法
- centos7怎么關(guān)閉ipv6僅使用ipv4?centos7關(guān)閉ipv6僅使用
- CentOS7.0怎么設(shè)置屏幕分辨率?CentOS7.0設(shè)置屏幕分辨率
- Fedora 23系統(tǒng)安裝默認的拼音輸入法的方法
- Fedora運行級別及其虛擬文件系統(tǒng)/proc詳解
- Fedora 14系統(tǒng)中的虛擬化網(wǎng)絡(luò)詳解
- 制作的Fedora啟動U盤無法引導(dǎo)系統(tǒng)的解決方法
- 安裝Fedora 22破壞了原Win10系統(tǒng)的UEFI引導(dǎo)程序的解決
- fedora系統(tǒng)怎么設(shè)置鼠標指針大?。縡edora鼠標指針設(shè)置大
CentOS7.3怎么安裝?使用DVD ISO鏡像安裝CentOS7.3的方法
CentOS是一款可自由使用源代碼的企業(yè)級Linux系統(tǒng),CentOS7.3發(fā)布了,那么CentOS7.3怎么安裝?下面小編就給大家?guī)鞢entOS7.3安裝教程,一起來看看吧...
CentOS部署kodexplorer可道云搭建私有網(wǎng)盤的方法
文章主要介紹了CentOS部署kodexplorer可道云搭建私有網(wǎng)盤的方法的相關(guān)資料,需要的朋友可以參考下簡約、命令行下的人性化做得比較好,穩(wěn)定,有著強大的英文文檔與開發(fā)社區(qū)的支持...
centos7怎么關(guān)閉ipv6僅使用ipv4?centos7關(guān)閉ipv6僅使用ipv4教程
centos7怎么關(guān)閉ipv6僅使用ipv4?centos7系統(tǒng)中使用ipv6很不方便,想要關(guān)閉,該怎么關(guān)閉呢?下面我們就來看看詳細的教程,需要的朋友可以參考下...
CentOS7.0怎么設(shè)置屏幕分辨率?CentOS7.0設(shè)置屏幕分辨率教程
CentOS7.0怎么設(shè)置屏幕分辨率?CentOS7.0中想要設(shè)置電腦的分辨率,該怎么設(shè)置呢?下面我們就來看看CentOS7.0中設(shè)置分辨率的教程,需要的朋友可以參考下...
Fedora 23系統(tǒng)安裝默認的拼音輸入法的方法
對于fedora 23,如果第一次進系統(tǒng)沒有選中拼音輸入法,那么以后就要自己添加拼音輸入法了。今天小編將要為大家?guī)淼氖莊edora 23 安裝默認的拼音輸入法的方法!希望對大家會有幫...
Fedora運行級別及其虛擬文件系統(tǒng)/proc詳解
在現(xiàn)有的Linux系統(tǒng)中添加新硬件時,你希望知道當前系統(tǒng)的資源配置狀態(tài),那么應(yīng)該如何查看呢?很方便,/proc文件系統(tǒng)中包含了內(nèi)核關(guān)于資源分配的一些信息。其中/proc/interrupt...
Fedora 14系統(tǒng)中的虛擬化網(wǎng)絡(luò)詳解
Fedoara 14和RHEL 6[kvm]中為虛擬化提供了3種配置支持, 1. Network Address Translation [NAT] 2. 直接分配物理設(shè)備 [PCI passthrough or SR-IOV] 3. 共享物理...
制作的Fedora啟動U盤無法引導(dǎo)系統(tǒng)的解決方法
最近發(fā)現(xiàn)手頭的好幾個U盤做成Fedora啟動盤后,在引導(dǎo)系統(tǒng)時屏幕一直停留在左上角閃光標的狀態(tài),無法進live系統(tǒng),而之前這些U盤都是能夠作為Fedora啟動盤正常引導(dǎo)的。...
安裝Fedora 22破壞了原Win10系統(tǒng)的UEFI引導(dǎo)程序的解決方法
今天為大家?guī)淼氖前惭bFedora 22破壞了原Win10系統(tǒng)的UEFI引導(dǎo)程序的解決方法,希望對大家會有幫助,有需要的朋友一起去看看吧....
fedora系統(tǒng)怎么設(shè)置鼠標指針大小?fedora鼠標指針設(shè)置大小的教程
fedora系統(tǒng)怎么設(shè)置鼠標指針大???fedora中想要設(shè)置鼠標指針的大小,該怎么設(shè)置呢?下面我們就來看看詳細的教程,...