什么是OpenCV?
OpenCV是一個開源的計算機視覺和機器學習軟件庫。 OpenCV是在BSD許可下發布的,可以免費用于學術和商業用途。它具有C ++,Python和Java接口,支持Windows,Linux,Mac OS,iOS和Android。
OpenCV專為提高計算效率而設計,專注于實時應用。
如何在Raspberry Pi上安裝OpenCV
要安裝OpenCV,我們需要安裝Python。由于Raspberry Pis預裝了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
完成這些步驟后,應安裝OpenCV。讓我們測試一下我們的工作吧!
測試OpenCV
要檢查OpenCV是否安裝正確,請嘗試鍵入以下內容導入OpenCV:
然后:
import cv2
如果沒有顯示錯誤,則安裝成功!
要知道您擁有哪個版本的OpenCV,請輸入以下命令:/p》
cv2.__version__
此消息告訴您在Raspberry Pi上安裝的OpenCV版本。
推薦的可選庫
還有其他要安裝的庫,當你進行對象檢測和其他項目時會派上用場,所以我很高興修改你也安裝這些。
NumPy
第一個庫是NumPy - 一個使Python中的數組操作易于執行的庫。鍵入以下命令安裝NumPy:
pip3 install python-numpy
Matplotlib
第二個庫是Matplotlib。 Matplotlib是一個Python繪圖庫,可以跨平臺生成各種硬拷貝格式和交互式環境的出版物質量數據。鍵入以下命令安裝Matplotlib:
pip3 install python-matplotlib
現在我們已經完成了在Raspberry Pi上安裝OpenCV和有用的附帶庫。讓我們在Raspberry Pi上使用OpenCV進行對象檢測和機器學習。
Face使用OpenCV檢測圖片
讓我們從編寫將要檢測的代碼開始面對它收到的圖像。對于面部檢測,您需要一個級聯文件。將此文件保存在工作目錄中“haarcascade_frontalface_default.xml”。
輸入要檢測面部的圖像的路徑進入下面的代碼并運行代碼。
# 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()
運行代碼后,它將在面部周圍繪制矩形,如下圖所示。
運行代碼后,所有檢測到的面部周圍都會出現矩形。
-
人臉檢測
+關注
關注
0文章
80瀏覽量
16457 -
OpenCV
+關注
關注
31文章
634瀏覽量
41338 -
樹莓派
+關注
關注
116文章
1706瀏覽量
105608
發布評論請先 登錄
相關推薦
評論