顯示具有 Windows IOT Raspberry Pi3 標籤的文章。 顯示所有文章
顯示具有 Windows IOT Raspberry Pi3 標籤的文章。 顯示所有文章

2017年5月9日 星期二

Raspberry Pi 3 ( 10 ) OpenCV 動態人臉偵測

 Raspberry Pi 3 ( 10 )   OpenCV   動態人臉偵測

     人臉偵測的第一個想到的當然是手機,現在手機、數位相機對人臉的偵測已經是非常普及了,問題是這技術是別人的。OpenCV也提供人臉辨識的資料庫可以讓初學者測試學習。這次就用Raspberry Pi3 + PicameraV2做實驗。

Raspberry Camera


PiCamera 接入Raspberry Pi3


  接下來就先更新一下Rasoberry 。$ 不要輸入!!

$ sudo apt-get update
$ sudo apt-gat upgrade

 再來鳩開啟Rasoberry設定。


將Camera 開啟


先測試一下Canera 是否正常運作。
$ raspistill -o output.jpg


在跟目錄會有一個Test.jpg的檔案。


Test.jpg 就是剛剛照下來的照片。


上一篇我我OpenCV & Python 是安裝在虛擬環境中要再安裝其他的模組也要回虛擬環境。

$ source ~/.profile
$ workon cv
注意提示符號前面會有cv

安裝Picamera 注意要加 array 

$ pip install "picamera[array]"

在這裡有Opencv 有提供建立好的臉部與眼睛 xml 檔案,建議全部下載下來下次可使用。

https://github.com/opencv/opencv/tree/master/data/haarcascades

 把haarcascades的目錄名稱改成face,在這目錄底下建立一個新的文字檔案命名為 face.py。

以下是face.py 的內容,個人慘痛經驗是用文字編輯器比Python 的IDE好用,Python 不能有多的空格!!縮牌要使用 tab 鍵。

#  以下是Python 程式 ***這一行不要拷貝進程式裡******

#-*-coding:cp950-*-

#上一行是讓 Python 能用中文註解

from picamera.array import PiRGBArray
from picamera import PiCamera
import cv2
import time

#設定攝影機
camera = PiCamera()
camera.resolution = (640, 480)
camera.framerate = 30
rawCapture = PiRGBArray(camera, size=(640, 480))

#新視窗命名為Faces
display_window = cv2.namedWindow("Faces")

#載入臉部特徵模組
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")

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)
    faces = face_cascade.detectMultiScale(gray, 1.1, 5)
    for (x,y,w,h) in faces:
        cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),2)

    #輸出影像
    cv2.imshow("Faces", image)

    key = cv2.waitKey(1)

    rawCapture.truncate(0)

    if key == ord("q"): # Press 'q' to quit
        break

#  以上是Python 程式 ***這一行不要拷貝進程式裡******

    把整個face目錄用WinSCP傳到Raspberry,用WinSCP對於習慣用Windows的我最大的好處是可以直接編輯Raspberry內的文字檔。


在Raspberry 的終端機輸入
$ cd face
$ Python face.py
Raspberry 就會開啟一個名稱為Faces的視窗,當人臉出現時就會框起來。


以上這段程式是實際測試過的。

2017年3月9日 星期四

Windows IOT Raspberry Pi3 安裝 (一下)

這式接 Windows IOT Raspberry Pi3 安裝 (一上)  ,這一篇是介紹Visual Studio的安裝。

在這裡可以下載 Visual Studio。
https://developer.microsoft.com/zh-tw/windows/iot/Docs/GetStarted/rpi3/sdcard/stable/getstartedstep3


   下載後執行安裝 ,這裡下載的只是安裝指引檔案很小實際安裝時須有15GB以上的硬碟空間。



如果你試註冊的Windows開發人員這時可登入如果不是可跳過。


安裝好後開啟 Visual Studio這時一定須要輸入Microsoft 帳號密碼。




選擇 工具  →擴充功能和更新 。


搜尋 IOT → 下載 Windows IoT Project Templates 。


Visual Studio 會自行安裝。



回到網頁 按 Next 。


在這裡下載全部的範例,下載後解開到C:\Users\user\OneDrive\文件\Visual Studio 2015。



Visual Studio 會自動下載Windows 10 SDK。


Windows 10 SDK 安裝完成後會跳出電腦設定,須將電腦設定成 "開發人員模式" 設定好後須重新開機。


將LED 電阻作以下配置使用GPIO5。



開啟 C:\Users\user\OneDrive\文件\Visual Studio 2015\HelloBlinky\CS\Blinky.sln 範例。


等待載入完成後  Device → 遠端電腦 。


Visual Studio 會偵測到 Raspberry 。


 選擇 Raspberry 。


按一下遠端電腦的 箭頭 。


Visual Studio 會開始建構Raspberry Pi3 所需要的程式並傳送給Raspberry Pi3 執行。


Raspberry Pi3 執行後回傳給 Visual Studio 的監控視窗。


執行時Raspberry Pi3 螢幕上紅點會開始閃爍。


LED也會閃爍。





參考資料 : https://developer.microsoft.com/zh-tw/windows/iot/Docs/GetStarted/rpi3/sdcard/stable/getstartedstep4

Windows IOT Raspberry Pi3 安裝 (一上)

這個過程很長分成兩段

本次實驗需要材料 :

Raspberry Pi3
紅色LED
電阻 330ohm
導線
麵包版

Microsoft 在 IOT 已經耕耘很久在這有完整說明,可直接在這個網頁作導入。

https://developer.microsoft.com/zh-tw/windows/iot/GetStarted#

第一步是選擇目標版選擇使用Raspberry pi 3。



選擇使用SD-CARD, OS使用Windows 10 IOT Core。



按下一步。




下載Windows 10 IOT Core。







下載好後執行安裝。





安裝好後執行,按設定新裝置。


須準備一張8GB以上的空白SD-CARD插入電腦,設定好後按下載安裝。










安裝好SD-CARD後先不要按我的裝置,將AD-CARD從電腦拆下放到Raspberry Pi3 。




Raspberry Pi3 開機後基本上就是一台Winsows 10 電腦。



可用觸控方式將語言改中文。




設定無線網路密碼需用外接鍵盤輸入。



其他沒什麼功能。




Raspberry Pi3 網路設定好後就可按電腦 "我的裝置 "。



在同一個網域內電腦就能收尋到 Raspberry Pi 3 。


按測 " 試一些範例 ",按第一個範例  Hello-Word 。


選擇 要執行的裝置名稱 Raspberry 。


輸入設定時的密碼。

在Raspberry Pi3 的螢幕上就會顯示這個畫面。



按一下底下反白的按鈕就會出現底下畫面。


Raspberry Pi 3 與電腦斷線後就會回到開機畫面。