免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
在樹莓派3搭載Raspbian Jessie系統(tǒng)上編譯openCV
      本文主要參考了一個外國人寫的博客:http://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/
      其他系統(tǒng)或平臺可以根據下面這個地址對號入座:http://www.pyimagesearch.com/opencv-tutorials-resources-guides/
      感覺外國人寫的東西還是比較清楚的,step by step。這篇文章還把每一步所需要的時間也拿出來了,非常貼心。避免在一些要很長時間的步驟傻等在那的尷尬。本文根據第一個網址在裝有Raspbian Jessie 的樹莓派3上編譯openCV。但是還是遇到了一些問題或者與作者描述不同的現象,現在把它記錄下來,針對一些時間超過五分鐘的步驟,筆者也把它標記一下。下面的內容已經默認已經有了一個裝有Raspbian Jessie的樹莓派3,且可以通過SSH或者其他方式可以訪問到樹莓派。

一 查看樹莓派版本
      如果不確定樹莓派的系統(tǒng)版本,可以使用    lsb_release -a   命令。
      注意,有的網友說使用    uname -a   命令。但是得到的卻不是這里需要的信息。
     
二 擴張文件系統(tǒng)
      使用下面命令打開配置項:  sudo raspi-config

并沒有找到原文作者寫的“Expand File System”這一項,并且使用  df -h  命令查看了一下可用空間,由于作者用的8GSD卡,筆者用的是16G的,故大膽猜測,跳過這一步,應該不會有太大問題。
      至于原文作者提到為了節(jié)省空間,刪除wolfram-engine,可以節(jié)省600多兆的空間。wolfram-engine用于支持wolfram語言,被捆綁在樹莓派的操作系統(tǒng)中。百度了一把wolfram感覺不明覺厲。

三  安裝依賴文件
1. 更新數據源      
       sudo apt-get update
       sudo apt-get upgrade 
       這一步實際上才是正式開始的第一步,但是筆者一上來更新數據源就出師不利,第二個命令就出錯了,非常影響心情。
       具體的報錯 當時忘了記錄下來,但反正就是更新數據源失敗之類的錯誤,主要問題還是在樹莓派更新景象地址上。樹莓派的鏡像地址存放在 /etc/apt/sources.list 文件中(里面總共三行內容,后兩行被注釋掉)。當然換個國內的源應該沒有問題,但筆者是按照當時網上的一種做法:將該文件第一、二行注釋掉,第三行放出來,如下圖:
這個做法是可以解決上面的報錯問題的。 筆者后面也搜到了一些源,不過擔心安全問題,就沒有用??赡苁枪P者多慮了!  

2. 安裝依賴文件
這一步和原文的描述出入最大,很多庫文件都安裝不了,可能還是和上一步的數據源有關。這里僅僅羅列了需要 sudo apt-get 來安裝的庫,沒有或者報"can't locate module XXX"的庫,則直接忽略:  build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev 
libgtk2.0-dev libatlas-base-dev fortran python2.7-dev python3-dev

四  下載openCV源碼
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
unzip opencv_contrib.zip
這一步下載了opencv 和 opencv_contrib的源文件。opencv_contrib中存放了一些opencv中不太穩(wěn)定的內容。但最好保證opencv_contrib和opencv的版本要保持一致。

五 安裝python及虛擬環(huán)境
在Mac上默認安裝了python2.7和python3.6。這里就涉及一個問題:到底是選擇python2 還是python3。由于樹莓派默認是已經安裝了python2.7,當時就想用python2.但是python2 會有一個坑,就是不支持中文編碼,而python3已經支持了中文編碼,所以這里建議還是安裝python3,也可
以都裝一遍。但是如果在一臺機器上,同時安裝了python2 和python3 很容易搞混,所以這里建議使用virtualenv。有點虛擬機的意思,就是提供了一套獨立的python環(huán)境。比如有兩個項目分別要用到不同的環(huán)境,而我們可以根據各自項目需求來配置不同環(huán)境,不用都全局安裝。
1. 安裝pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
如果已經安裝了就可跳過這一步,筆者這里就直接跳過了。

2.安裝virtualenv和virtualenvwrapper
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip

第二個命令不知道為什么要執(zhí)行,但筆者并沒有找到這個路徑,反正也是要刪除,略過。

3. 配置virtualenv環(huán)境
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
在~/.profile文件的末尾添加上面的內容,此時重新打開終端,就可以執(zhí)行virtualenv相關的命令。如果想在當前終端中生效,也可以執(zhí)行 source ~/.profile 命令。

4. 創(chuàng)建virtualenv工作環(huán)境
mkvirtualenv cv -p python2
mkvirtualenv ovforp3 -p python3
上面分別創(chuàng)建了使用python2 和 python3 的環(huán)境,實際使用時 根據需求選擇其中一個命令執(zhí)
行即可。筆者這里選擇了第二條命令執(zhí)行。
執(zhí)行完后,如果在前面可以看到類似上圖紅框中的字段,則證明當前處于創(chuàng)建的virtualenv工作環(huán)境中。上面的創(chuàng)建命令只用使用一次,即創(chuàng)建該工作環(huán)境時。之后,如果需要重新進入該虛擬
環(huán)境,可以使用下面的workon命令:
workon ovforp3
這時就可以得到類似上圖的現象。

5. 安裝Numpy
pip install numpy
這里沒什么可講,記錄一下,之前在python2環(huán)境中編譯時,這里一直安裝失?。粨Q成python3環(huán)境后,就沒有問題。

六. 編譯 安裝 OpenCV
1. 配置編譯項  
編譯前確定當前是處于虛擬工作環(huán)境中,然后執(zhí)行下面的命令:
cd ~/opencv-3.1.0/
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
    -D BUILD_EXAMPLES=ON ..
 
這里首先創(chuàng)建了一個build的目錄,進入該目錄,并執(zhí)行后面的cmake命令。這個build不知道有什么用,反正從頭到最后 也沒看到里面有什么內容。但是如果不在這里執(zhí)行cmake命令,又會報錯。姑且這么干吧! 可以看見Cmake命令后面跟了長串參數。大家可以根據名字猜測用處。其中OPENCV_EXTRA_MODULES_PATH的值可以根據實際的路徑進行修改。其他的保持不變。
其次 BUILD_EXAMPLES的值后面 有一個“..”(表示上一級),不要忘了。忘了也會出錯。
按照原文多說法,這里會得到類似下面的結果:
 筆者也確實得到了,但其中的Interpreter一欄并沒有指向像上圖中的虛擬環(huán)境中的地址,而是直接指向了本機的實際地址。這種現象,原文的解釋是當前的工作環(huán)境沒有切到對應的虛擬環(huán)境中,所以使用workon命令做一下切換就可以了。但筆者試了好幾次,仍然不行。這讓人很納悶,只能先忽略這個問題。

2. 執(zhí)行編譯
先退回到opencv源代碼的根目錄,然后執(zhí)行 make 命令即可。正如原文作者所說,使用
 make -j4 執(zhí)行一段時間后 由于爭搶內核場景的原因會報錯。那么老老實實用make命令吧。
執(zhí)行這個編譯命令非常耗時。筆者編過三次,每次的時間至少都在一個小時以上,所以,大家可以干點其他事,再來看結果。
上面也說了,筆者編了三次,肯定不會沒事閑的慌,編三次。說明上面的命令有問題。真是坑呀。編了一個小時多,然后就編不過了??纯闯鲥e信息:
stitching_detailed.cpp:(.text+0x188c): undefined reference to `cv::detail::SurfFeaturesFinderGpu::SurfFeaturesFinderGpu(double, int, int, int, int)'
這就讓人蒙了,突然來一個找不到函數。搜了好久,發(fā)現了一個帖子,很有啟發(fā):
https://devtalk.nvidia.com/default/topic/766474/opencv4tegra-sourcecode-anyone-/
總結一下,就是這里在編譯 example目錄時,由于缺少了opencv4tegra類庫。兩種方法:要么安裝缺少的類庫,要么在編譯選項時不編譯這部分內容。 考慮到上面的帖子的描述并不是針對樹莓派環(huán)境,且這部分內容只是example,不影響openCV核心功能,所以決定使用第二種方法。這里需要退到上一步重新執(zhí)行cmake命令,修改后的cmake命令如下:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
    -D BUILD_EXAMPLES=OFF ..
再次執(zhí)行make問題,就不會報錯了。

3. 安裝
sudo make install
sudo ldconfig

4.驗證
在/usr/local/lib/python3.4/site-packages/或者/usr/local/lib/python3.4/dist-packages路徑下(二選一)中可以找到cv2.cpython-34m.so文件(在python2中是cv2.so文件)。將它的名字改回cv2.so,并在當前的虛擬工作環(huán)境中建立軟連接。
sudo mv cv2.cpython-34m.so cv2.so
cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so
此時,在終端輸入python,進入python交互式命令行,看能否打印出cv2的版本號,如下圖:
大功告成。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
子豪兄教你在樹莓派上安裝OpenCV
在Raspberry Pi 2/B+上安裝Python和OpenCV
Ubuntu18.04安裝cuda10.0,cudnn7.6.4,opencv4.2.0,python環(huán)境
AI樹莓派——構建樹莓派大腦(NCNN環(huán)境搭建)
【從零學習OpenCV】4Ubuntu系統(tǒng)中安裝OpenCV 4
Installing OpenCV 3.0.0 on Ubuntu 14.04
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服