Rvision OpenCV 套件介紹: 擷取並顯示 Webcam 影像

Rvision 是串接 R 與 OpenCV 影像處理/辨識 library 的套件,目前提供的函數比較基本,還未加入影像辨識(如人臉) 的功能,可能得等作者改版

這裡介紹簡單的動作:用 Rvision 直接擷取 Webcam 影像,並在 R 播放出來。由於 R 目前尚缺 Video Player 套件,這裡的「播放」是以比較簡單的plot 函數方式處理。

安裝完成後的另一個好處,是可以在 ROpenCVLite 套件資料夾底下找到一個 opencv 資料夾 (例如 c:\R\R-3.4.0\library\ROpenCVLite\opencv)。

這個 opencv 資料夾裡面,是已經編譯好的一些 OpenCV Windows 可執行檔, 與以後自己寫 C++ 程式、或要建立其他與 OpenCV 有關的 R 套件編譯時連結的 library ,非常不錯。有興趣的人可以參考 Rvision 套件原始碼的編譯設定。

Step 1. 安裝 Rtools 

到  https://cran.r-project.org/bin/windows/Rtools/ 下載並安裝 Rtools. 把 Rtools 安裝資料夾底下的 bin 完整路徑加入 Windows 環境變數 PATH (控制台=> 系統 => 進階系統設定 => 環境變數)

Step 2. 安裝 Python Windows 版 3.X.X

到 https://www.python.org/downloads/release/python-361/ 下載 Python Windows 版 3.6.1. 。安裝後把安裝資料完整路徑加入 Windows 環境變數  PATH

Step 3. 安裝 cmake (須等 Rtools 與 Python 安裝完)

到 https://cmake.org/download/ 下載並安裝 cmake Windows 安裝檔 (msi)。把 cmake 安裝資料夾底下的 bin 完整路徑加入 Windows 環境變數 PATH

Step 4. 以系統管理員身份執行 R, 安裝 Rvision:

# https://github.com/swarm-lab/ROpenCVLite…

library(devtools)

# 底下步驟至少 30 分鐘以上
devtools::install_github("swarm-lab/ROpenCVLite")

# https://github.com/swarm-lab/Rvision

devtools::install_github("swarm-lab/Rvision")

Step 5.

library(Rvision)
oldpar = par()

# 底下 stream(0) 是預設的 Webcam 編號, 只有一台 Webcam 時適用
# 如果不成功,請改成 1, 2,….

myStream = stream(0)
while (TRUE)
{
img = myStream$readNext()
# 這中間可以插入其他處理影像的程式碼
par(new=TRUE)
plot(img)
}
release(myStream)
par(oldpar)

欲停止執行,可按 R GUI 上方紅色 STOP 按鈕