什么是OpenCV?
OpenCV是一個開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫。 OpenCV是在BSD許可下發(fā)布的,可以免費(fèi)用于學(xué)術(shù)和商業(yè)用途。它具有C ++,Python和Java接口,支持Windows,Linux,Mac OS,iOS和Android。
OpenCV專為提高計(jì)算效率而設(shè)計(jì),專注于實(shí)時應(yīng)用。
如何在Raspberry Pi上安裝OpenCV
要安裝OpenCV,我們需要安裝Python。由于Raspberry Pis預(yù)裝了Python,我們可以直接安裝OpenCV。
鍵入以下命令以確保您的Raspberry Pi是最新的,并將Raspberry Pi上安裝的軟件包更新到最新版本。
sudo apt-get update
sudo apt-get upgrade
在終端中鍵入以下命令,以便在Raspberry Pi上安裝OpenCV所需的軟件包。
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
鍵入以下命令以安裝OpenCV 3 for Raspberry Pi上的Python 3, pip3 告訴我們將為Python 3安裝OpenCV。
sudo pip3 install opencv-contrib-python libwebp6
完成這些步驟后,應(yīng)安裝OpenCV。讓我們測試一下我們的工作吧!
測試OpenCV
要檢查OpenCV是否安裝正確,請嘗試鍵入以下內(nèi)容導(dǎo)入OpenCV:
然后:
import cv2
如果沒有顯示錯誤,則安裝成功!
要知道您擁有哪個版本的OpenCV,請輸入以下命令:/p》
cv2.__version__
此消息告訴您在Raspberry Pi上安裝的OpenCV版本。
推薦的可選庫
還有其他要安裝的庫,當(dāng)你進(jìn)行對象檢測和其他項(xiàng)目時會派上用場,所以我很高興修改你也安裝這些。
NumPy
第一個庫是NumPy - 一個使Python中的數(shù)組操作易于執(zhí)行的庫。鍵入以下命令安裝NumPy:
pip3 install python-numpy
Matplotlib
第二個庫是Matplotlib。 Matplotlib是一個Python繪圖庫,可以跨平臺生成各種硬拷貝格式和交互式環(huán)境的出版物質(zhì)量數(shù)據(jù)。鍵入以下命令安裝Matplotlib:
pip3 install python-matplotlib
現(xiàn)在我們已經(jīng)完成了在Raspberry Pi上安裝OpenCV和有用的附帶庫。讓我們在Raspberry Pi上使用OpenCV進(jìn)行對象檢測和機(jī)器學(xué)習(xí)。
Face使用OpenCV檢測圖片
讓我們從編寫將要檢測的代碼開始面對它收到的圖像。對于面部檢測,您需要一個級聯(lián)文件。將此文件保存在工作目錄中“haarcascade_frontalface_default.xml”。
輸入要檢測面部的圖像的路徑進(jìn)入下面的代碼并運(yùn)行代碼。
# Import OpenCV library
import cv2
# Load a cascade file for detecting faces
faceCascade = cv2.CascadeClassifier(“haarcascade_frontalface_default.xml”);
# Load image
image = cv2.imread(‘obamafamily.jpg’)
# Convert into grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Look for faces in the image using the loaded cascade file
faces = faceCascade.detectMultiScale(gray, 1.2, 5)
for (x,y,w,h) in faces:
# Create rectangle around faces
cv2.rectangle(image,(x,y),(x+w,y+h),(255,255,0),2)
# Create the resizeable window
cv2.namedWindow(‘Obama’, cv2.WINDOW_NORMAL)
# Display the image
cv2.imshow(‘Obama’, image)
# Wait until we get a key
k=cv2.waitKey(0)
# If pressed key is ‘s’
if k == ord(‘s’):
# Save the image
cv2.imwrite(‘convertedimage.jpg’, image)
# Destroy all windows
cv2.destroyAllWindows()
# If pressed key is ESC
elif k == 27:
# Destroy all windows
cv2.destroyAllWindows()
運(yùn)行代碼后,它將在面部周圍繪制矩形,如下圖所示。
運(yùn)行代碼后,所有檢測到的面部周圍都會出現(xiàn)矩形。
-
人臉檢測
+關(guān)注
關(guān)注
0文章
80瀏覽量
16436 -
OpenCV
+關(guān)注
關(guān)注
29文章
624瀏覽量
41214 -
樹莓派
+關(guān)注
關(guān)注
116文章
1688瀏覽量
105456
發(fā)布評論請先 登錄
相關(guān)推薦
評論