RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于樹莓派設(shè)計(jì)的道路車道檢測系統(tǒng)

科技觀察員 ? 來源:abhinav ? 作者:abhinav ? 2022-03-31 10:41 ? 次閱讀

道路車道檢測系統(tǒng):
自動(dòng)駕駛汽車是現(xiàn)代世界的新趨勢(shì)之一。他們使用非常復(fù)雜的控制系統(tǒng)和工程技術(shù)來操縱車輛。道路車道檢測是車輛導(dǎo)航中的重要內(nèi)容之一。在這里,我描述了一個(gè)使用 Raspberry pi 3 和計(jì)算機(jī)視覺技術(shù)的簡單快速的車道檢測。為了快速計(jì)算,我只是避免使用線性回歸方法。這種方法在低噪聲環(huán)境下效果很好,但對(duì)于復(fù)雜的場景,需要先進(jìn)的統(tǒng)計(jì)和圖像處理技術(shù)。

硬件設(shè)置:
將相機(jī)與您的 Pi 連接

pYYBAGJFFK6AZgaxAAIqyqFmCEc342.png

攝像頭配置:

按照此鏈接進(jìn)行相機(jī)設(shè)置https://www.raspberrypi.org/documentation/configuration/camera.md

軟件設(shè)置:

python 安裝 OpenCV。按照這些說明安裝 OpenCV。這些說明是從https://raspberrypi.stackexchange.com復(fù)制的。

通用:

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot
sudo apt-get install build-essential git cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran
cd ~
git clone
cd opencv
git checkout 3.1.0
cd ~
git clone
cd opencv_contrib
git checkout 3.1.0

如果您想將 OpenCV 與 python 2.7 一起使用:

sudo apt-get install python2.7-dev
wget
sudo python
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
make -j4
sudo make install
sudo ldconfig

如果您想在 Python 3 中使用 OpenCV:

sudo apt-get install python3-dev
wget
sudo python3
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
make -j4
sudo make install
sudo ldconfig

將以上配置完成大約需要 2 個(gè)小時(shí)。在此期間,我們可以了解一下 Hough-Transform,這項(xiàng)技術(shù)是大多數(shù)實(shí)用車道檢測算法背后的關(guān)鍵。

Python代碼:

from picamera.array import PiRGBArray
import RPi.GPIO as GPIO
from picamera import PiCamera
import time
import cv2
import numpy as np
import math
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
GPIO.setup(8, GPIO.OUT)
theta=0
minLineLength = 5
maxLineGap = 10
camera = PiCamera()
camera.resolution = (640, 480)
camera.framerate = 30
rawCapture = PiRGBArray(camera, size=(640, 480))
time.sleep(0.1)
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
image = frame.array
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
edged = cv2.Canny(blurred, 85, 85)
lines = cv2.HoughLinesP(edged,1,np.pi/180,10,minLineLength,maxLineGap)
if(lines !=None):
for x in range(0, len(lines)):
for x1,y1,x2,y2 in lines[x]:
cv2.line(image,(x1,y1),(x2,y2),(0,255,0),2)
theta=theta+math.atan2((y2-y1),(x2-x1))
#print(theta)GPIO pins were connected to arduino for servo steering control
threshold=6
if(theta>threshold):
GPIO.output(7,True)
GPIO.output(8,False)
print("left")
if(theta<-threshold):
GPIO.output(8,True)
GPIO.output(7,False)
print("right")
if(abs(theta) GPIO.output(8,False)
GPIO.output(7,False)
print "straight"
theta=0
cv2.imshow("Frame",image)
key = cv2.waitKey(1) & 0xFF
rawCapture.truncate(0)
if key == ord("q"):
break):

示例輸出結(jié)果:

poYBAGJFFLaAXmKnAALa_TuPj7M511.pngpoYBAGJFFLyAJXS9AALQwXurhb8734.pngpoYBAGJFFMOAD4NpAAKGtHhLwCA958.pngpYYBAGJFFMmAS10bAASw9v_kubM454.png

GPIO 引腳連接到 Arduino mega 用于伺服電機(jī)控制。

#include
Servo myservo;
void setup() {
myservo.attach(10);//attach servo motor PWM(orange) wire to pin 10
pinMode(0, INPUT);//attach GPIO 7&8 pins to arduino pin 0&1
pinMode(1,INPUT);
void loop() {
if(digitalRead(0)==HIGH && digitalRead(1)==LOW)
{
myservo.write(118);
}
if(digitalRead(1)==HIGH && digitalRead(0)==LOW)
{
myservo.write(62);
}
if(digitalRead(1)==LOW && digitalRead(0)==LOW)
{
myservo.write(90);
}
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 自動(dòng)駕駛汽車
    +關(guān)注

    關(guān)注

    4

    文章

    376

    瀏覽量

    40829
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1706

    瀏覽量

    105606
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于樹莓設(shè)計(jì)的RFID門禁系統(tǒng)

    本項(xiàng)目使用樹莓設(shè)計(jì)門禁或設(shè)備的訪問控制系統(tǒng),系統(tǒng)根據(jù)用戶列表檢查RFID標(biāo)簽,允許擁有授權(quán)RFID標(biāo)簽的指定成員進(jìn)入室內(nèi)。系統(tǒng)包括一個(gè)US
    的頭像 發(fā)表于 04-01 14:50 ?6823次閱讀
    基于<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>設(shè)計(jì)的RFID門禁<b class='flag-5'>系統(tǒng)</b>

    樹莓防占位系統(tǒng)

    設(shè)計(jì)內(nèi)容為學(xué)校圖書館設(shè)計(jì)一個(gè)防止違規(guī)占座系統(tǒng),實(shí)現(xiàn)通過若干條件的判斷,來判斷當(dāng)前作為是否被違規(guī)占座。功能描述結(jié)合樹莓,利用壓力傳感器分別檢測桌面和椅面是否有物體(書),再通過人體紅外
    發(fā)表于 07-21 09:16

    樹莓裝機(jī)教程

    樹莓裝機(jī)教程樹莓裝機(jī)教程樹莓裝機(jī)教程樹莓
    發(fā)表于 11-25 10:14 ?52次下載

    樹莓設(shè)置基本流程(上)

    第一步,在win系統(tǒng)下安裝樹莓系統(tǒng)到SD卡 第二步,安裝和啟動(dòng)樹莓 第三步,如何設(shè)置
    發(fā)表于 11-30 11:03 ?17次下載

    樹莓的種類_樹莓安裝教程

    樹莓(Raspberry Pi)是尺寸僅有信用卡大小的一個(gè)小型電腦,您可以將樹莓連接電視、顯示器、鍵盤鼠標(biāo)等設(shè)備使用。目前,樹莓
    發(fā)表于 11-27 22:01 ?5386次閱讀

    樹莓3wifi配置_樹莓3開啟wifi熱點(diǎn)_樹莓3的wifi使用教程

    樹莓3在2016年2月29號(hào)正式發(fā)布了,樹莓3幾乎和樹莓2代板型一致,大外觀沒什么變化小電
    發(fā)表于 12-08 11:47 ?3.1w次閱讀

    樹莓3硬件配置_樹莓3都能裝什么系統(tǒng)_樹莓3系統(tǒng)安裝教程

    樹莓3一直頗受電子發(fā)燒友的青睞,這篇文章主要討論的就是樹莓3的硬件配置、樹莓3都能裝什么
    發(fā)表于 12-08 14:36 ?2.6w次閱讀

    樹莓3系統(tǒng)安裝介紹_Noobs進(jìn)行樹莓3系統(tǒng)安裝_Noobs進(jìn)行樹莓3系統(tǒng)恢復(fù)

    這篇文章主要和大家一起來討論一下關(guān)于樹莓3的系統(tǒng)安裝是什么,基于Noobs的樹莓3的系統(tǒng)安裝
    發(fā)表于 12-08 15:02 ?5958次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3<b class='flag-5'>系統(tǒng)</b>安裝介紹_Noobs進(jìn)行<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3<b class='flag-5'>系統(tǒng)</b>安裝_Noobs進(jìn)行<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3<b class='flag-5'>系統(tǒng)</b>恢復(fù)

    樹莓3系統(tǒng)配置詳解_樹莓3如何配置config.txt文件_樹莓3如何設(shè)置分辨率

    本文主要講解的就是關(guān)于樹莓3的系統(tǒng)配置,樹莓3如何配置config.txt文件以及如何設(shè)置樹莓
    發(fā)表于 12-08 15:32 ?1.4w次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3<b class='flag-5'>系統(tǒng)</b>配置詳解_<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3如何配置config.txt文件_<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3如何設(shè)置分辨率

    樹莓入門教程之新手使用樹莓系統(tǒng)的教程資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是樹莓入門教程之新手使用樹莓系統(tǒng)的教程資料說明免費(fèi)下載。
    發(fā)表于 03-22 08:00 ?10次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>入門教程之新手使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>做<b class='flag-5'>系統(tǒng)</b>的教程資料說明

    樹莓是什么樹莓的簡單介紹

    要想玩轉(zhuǎn)樹莓,首先得知道樹莓是什么。在本節(jié)中,作者將帶領(lǐng)大家揭開樹莓的神秘面紗,了解
    發(fā)表于 05-15 18:09 ?30次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>是什么<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的簡單介紹

    樹莓樹莓4B新手篇:安裝官網(wǎng)Raspbian Buster系統(tǒng)及基礎(chǔ)配置

    目錄1、前言2、樹莓4B有什么特色?3、樹莓新手準(zhǔn)備4、燒錄Raspbian Buster系統(tǒng)到Micro SD卡開啟SSH及配置無線連
    發(fā)表于 11-06 18:21 ?26次下載
    【<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>】<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4B新手篇:安裝官網(wǎng)Raspbian Buster<b class='flag-5'>系統(tǒng)</b>及基礎(chǔ)配置

    樹莓操作系統(tǒng)更新了哪些功能呢?

    市面上很多的linux發(fā)行版都為樹莓提供了鏡像文件,但是樹莓基金會(huì)依然提供了屬于樹莓自己的
    發(fā)表于 09-15 16:40 ?849次閱讀

    距離檢測報(bào)警使用樹莓Pico

    電子發(fā)燒友網(wǎng)站提供《距離檢測報(bào)警使用樹莓Pico.zip》資料免費(fèi)下載
    發(fā)表于 11-09 11:49 ?0次下載
    距離<b class='flag-5'>檢測</b>報(bào)警使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>Pico

    基于樹莓的環(huán)境監(jiān)測系統(tǒng)

    樹莓(Raspberry Pi)是一種小型而功能強(qiáng)大的計(jì)算機(jī),其性能和功能足以支持許多應(yīng)用領(lǐng)域。在環(huán)境監(jiān)測系統(tǒng)中,樹莓也被廣泛應(yīng)用。本文
    的頭像 發(fā)表于 01-04 15:15 ?2527次閱讀
    RM新时代网站-首页