五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

樹莓派OpenCV系列教程01:開發(fā)環(huán)境搭建

2019-11-21 14:38 作者:微雪電子  | 我要投稿


PS:本章將介紹OpenCV開發(fā)環(huán)境的搭建,搭建的版本為OpenCV4.1.0,同時(shí)支持Python3和C++,在搭建好后,將通過一個(gè)C++和Python的Demo打開CSI攝像頭來測(cè)試開發(fā)環(huán)境是否搭建完成。


1 燒錄系統(tǒng)

本教程采用的鏡像是樹莓派官方2019年7月10日發(fā)布的發(fā)行版鏡像,代號(hào)Buster,如下圖所示:

下載系統(tǒng)

2 基本設(shè)置

2.1 把目錄擴(kuò)展到整個(gè)TF卡

本章將介紹OpenCV開發(fā)環(huán)境的搭建,搭建的版本為OpenCV4.1.0,同時(shí)支持Python3和C++,在搭建好后,將通過一個(gè)C++和Python的Demo打開CSI攝像頭來測(cè)試開發(fā)環(huán)境是否搭建完成。

運(yùn)行指令:sudo raspi-config

高級(jí)選項(xiàng)
選擇A1

2.2 開啟攝像頭

作為開源計(jì)算機(jī)視覺庫,主要進(jìn)行圖像處理,對(duì)攝像頭圖像數(shù)據(jù)進(jìn)行處理是主要需求,因此,開啟攝像頭是很有必要的。

2.2.1 啟用攝像頭

sudo raspi-config

進(jìn)入Interfacing Options->Camera->Yes,即可啟用攝像頭。
檢測(cè)攝像頭是否正常,可以使用以下命令進(jìn)行檢測(cè):

raspivid -t 0 -cs 0

2.2.2 準(zhǔn)備視頻流設(shè)備

在OpenCV中,若要讀取攝像頭數(shù)據(jù),需要開啟v4l2(video for linux 2),開啟后,攝像頭設(shè)備文件為/dev/video0,OpenCV將從該文件中讀取視頻流文件。

開啟方法如下:

sudo vim /etc/modules

在末尾添加一行:

bcm2835-v4l2

2.3 更換軟件源

鑒于國內(nèi)網(wǎng)絡(luò)環(huán)境下載各大鏡像,軟件包速度慢的問題,需要更換軟件源,以防下載慢,且在本教程中,統(tǒng)一更換為清華源。

2.3.1 更換樹莓派軟件源

包括系統(tǒng)源與系統(tǒng)更新源,操作方法:

# 編輯 `/etc/apt/sources.list` 文件,刪除原文件所有內(nèi)容,用以下內(nèi)容取代:?

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib?

deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib?

# 編輯 `/etc/apt/sources.list.d/raspi.list` 文件,刪除原文件所有內(nèi)容,用以下內(nèi)容取代:?

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

如下圖所示:

2.3.2 更換pip軟件源

為加速Python pip安裝速度,特更改Python軟件源,操作方法:

pip install pip -U pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

清華軟件源Pypi官方說明

2.4 重啟

以上步驟均完成之后,需要進(jìn)行重啟才生效,重啟命令如下:

sudo reboot

3 安裝OpenCV所需要的庫

3.1 安裝numpy

sudo pip3 install numpy

3.2 安裝OpenCV所需的依賴

sudo apt-get install build-essential git cmake pkg-config -y sudo apt-get install libjpeg8-dev -y sudo apt-get install libtiff5-dev -y sudo apt-get install libjasper-dev -y sudo apt-get install libpng12-dev -y sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y sudo apt-get install libgtk2.0-dev -y sudo apt-get install libatlas-base-dev gfortran -y

4 下載OpenCV

本次安裝的OpenCV版本為OpenCV 4.1.0,官方鏈接地址

需要下載包括OpenCV與OpenCV_Contrib兩個(gè)倉庫

OpenCV_4.1.0倉庫:Github地址

OpenCV_Contrib_4.1.0倉庫:Github地址

鑒于下載速度慢,建議采用Git Bash下載:

下載命令如下,注意添加—recursive及-b 4.1.0

git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git

下載后,建議采用Fillzilla或者U盤等方法把文件傳輸?shù)綐漭芍小?/p>

當(dāng)然,也可以直接在樹莓派命令行窗口執(zhí)行以上命令進(jìn)行下載,但請(qǐng)確保網(wǎng)絡(luò)穩(wěn)定。

5 配置Cmake

Cmake是一款跨平臺(tái)的編譯工具,經(jīng)過配置,可輸出適配于樹莓派平臺(tái)的Makefile

cd /home/pi/Downloads/opencv-4.1.0 mkdir build cd build

配置Cmake,執(zhí)行以下命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv-4.1.0/opencv_contrib-3.4.0/modules \ -D BUILD_EXAMPLES=ON \ -D WITH_LIBV4L=ON \ -D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ -D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ -D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ ..

注意,以上命令需要根據(jù)您具體的軟件環(huán)境進(jìn)行修改,否則很可能報(bào)錯(cuò)。
其中:

  • CMAKE_BUILD_TYPE=RELEASE \ 代表編譯類型為發(fā)行版本

  • CMAKE_INSTALL_PREFIX=/usr/local \ 安裝路徑

  • INSTALL_C_EXAMPLES=ON \ C demo

  • INSTALL_PYTHON_EXAMPLES=ON \ Python demo

  • OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv-4.1.0/opencv_contrib-3.4.0/modules \ OpenCV Contrib路徑

  • BUILD_EXAMPLES=ON \ 編譯demo

  • WITH_LIBV4L=ON \ 開啟Video for Linux

  • PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ Python3路徑

  • PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ Python3 include文件夾

  • PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \ Python3庫

  • PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \ Python3 Numpy安裝路徑

  • ..

如下圖所示:

cmake 配置完成后的界面如下圖所示:


注意:cmake執(zhí)行時(shí)間一般在15分鐘左右。

6 編譯

在Cmake生成Makefile之后,便可進(jìn)行編譯:

輸入并執(zhí)行:

make

即開始進(jìn)行編譯,編譯過程如下圖所示:

注意:make編譯時(shí)間比較長,一般編譯時(shí)間在5小時(shí)左右。

7 安裝

輸入以下命令即可進(jìn)行安裝:

sudo make insall

注意:install安裝時(shí)間一般在1分鐘左右。

8 測(cè)試是否安裝完成

測(cè)試包括Python及C++的測(cè)試,用到了攝像頭及簡單的OpenCV處理函數(shù)。

8.1 Python3:

#!/usr/bin/env python

'''

Waveshare OpenCV Tutorial

00_Test_OpenCV.py

A demo to show whether The OpenCV and CSI camera is well installed

'''

import numpy as np

import CV2


def main():

? ? print("OpenCV Version:{}".format(CV2.__version__))

? ? # 0: use CSI camera,1:use USB camera

? ? cap = CV2.VideoCapture(0)

? ? if(not cap.isOpened()):

? ? ? ? print("can't open this camera")


? ? while(True):

? ? ? ? ret, FrameImage = cap.read()

? ? ? ? if ret == True:

? ? ? ? ? ? # change to gray image

? ? ? ? ? ? GrayImage = CV2.cvtColor(FrameImage, CV2.COLOR_BGR2GRAY)

? ? ? ? ? ? # blur the image?

? ? ? ? ? ? BlurImage = CV2.blur(GrayImage,(7,7))

? ? ? ? ? ? # use canny to detect contour

? ? ? ? ? ? CannyImage = CV2.Canny(BlurImage,3,9)

? ? ? ? ? ? # show the image

? ? ? ? ? ? CV2.imshow('Camera Capture',CannyImage)

? ? ? ? ? ? #Press Q to quit

? ? ? ? ? ? if (CV2.waitKey(1)) == ord('q'):

? ? ? ? ? ? ? ? cap.release()

? ? ? ? ? ? ? ? break

? ? ? ? else:

? ? ? ? ? ? break


if __name__ == '__main__':

? ? print(__doc__)

? ? main()

? ? # Release resource

? ? CV2.destroyAllWindows()

執(zhí)行該P(yáng)ython腳本的情況如下:

執(zhí)行該P(yáng)ython腳本的情況如下:

8.2 C++:

#include

#include

#include

#include


using namespace std;

using namespace cv;


int main()

{

? ? cout << "Waveshare OpenCV Tutorial"<< endl;

? ? cout << "00_Test_OpenCV"<cout << "A demo to show whether The OpenCV and CSI camera is well installed" <cout << endl;

? ? cout << "OpenCV Version:" << CV_VERSION << endl;

? ? // 0: use CSI camera,1:use USB camera

? ? VideoCapture cap(0);

? ? if(!cap.isOpened())

? ? {

? ? ? ? cout<<"can't open this camera"<return -1;

? ? }? ??

? ? Mat FrameImage,GrayImage,BlurImage,CannyImage;

? ? while(1)

? ? {

? ? ? ? cap>>FrameImage;

? ? ? ? //Change to gray image

? ? ? ? cvtColor(FrameImage,GrayImage,COLOR_BGR2GRAY);

? ? ? ? //blur the image

? ? ? ? blur(GrayImage,BlurImage,Size(7,7));

? ? ? ? //use canny to detect contour

? ? ? ? Canny(BlurImage,CannyImage,3,9);

? ? ? ? //show the image

? ? ? ? imshow("Camera Capture",CannyImage);

? ? ? ? //Press Q to quit

? ? ? ? if(char(waitKey(1)) == 'q')

? ? ? ? {

? ? ? ? ? ? break;

? ? ? ? }

? ? }

? ? return 0;

}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.0)?

project(00_Test_OpenCV)?

find_package(OpenCV REQUIRED)?

add_executable(00_Test_OpenCV 00_Test_OpenCV.cpp)?

target_link_libraries(00_Test_OpenCV ${OpenCV_LIBS})

編譯并運(yùn)行:


編譯并運(yùn)行

9 結(jié)語

若中途有安裝失敗,或多次嘗試安裝失敗,不想浪費(fèi)時(shí)間在搭建環(huán)境上,可直接使用我們提供的鏡像,在我們提供的鏡像中,除了已安裝OpenCV4.1.0之外,還安裝了TensorFlow和Keras,如下圖所示:

鏈接:https://pan.baidu.com/s/1e1neaOQQhug-SL9zDofzKQ

提取碼: 4mw6

擴(kuò)展名為.z01的文件是zip文件的分卷,請(qǐng)同時(shí)下載兩個(gè)文件,并將其放到同一個(gè)文件夾下,然后解壓zip文件,即可得到鏡像,大概15G左右,然后使用燒錄工具燒寫該鏡像即可。

?


樹莓派OpenCV系列教程01:開發(fā)環(huán)境搭建的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
邹平县| 梨树县| 辽宁省| 宁陕县| 开化县| 达拉特旗| 车致| 根河市| 鄄城县| 宁陵县| 来安县| 关岭| 泸定县| 南岸区| 江北区| 加查县| 甘孜| 长岛县| 昔阳县| 兴隆县| 高邑县| 曲麻莱县| 额敏县| 德格县| 东山县| 重庆市| 得荣县| 西吉县| 大渡口区| 乳山市| 大埔县| 莫力| 贵州省| 龙泉市| 新化县| 芦溪县| 临安市| 渑池县| 剑河县| 航空| 革吉县|