Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

GOCVを使ってみた

こんにちはwattak777です。

色々と機会があり、お勉強のためGo言語によるOpenCV「gocv」を入れるところまでをまとめました。

環境
- ホストOS:Windows 10
- VirtualBox:6.0.22
- ゲストOS:Ubuntu 18.04 LTS

Goのセットアップ

sudo apt install -y golang

OpenCVのセットアップ

セットアップには以下の記事を参考にしました。
Ubuntu 18.04 ServerにOpenCV 4.1.0をソースからインストール(install-opencv.sh使用)

事前に登録していた場合はOpenCVを削除

sudo apt autoremove libopencv-dev python-opencv

シェルの取得

wget --no-check-certificate https://raw.githubusercontent.com/milq/milq/master/scripts/bash/install-opencv.sh

ファイルを編集

vim install-opencv.sh
install-opencv.sh
######################################
# INSTALL OPENCV ON UBUNTU OR DEBIAN #
######################################

# -------------------------------------------------------------------- |
#                       SCRIPT OPTIONS                                 |
# ---------------------------------------------------------------------|
OPENCV_VERSION='4.2.0'       # Version to be installed
OPENCV_CONTRIB='NO'          # Install OpenCV's extra modules (YES/NO)
# -------------------------------------------------------------------- |

 上記のバージョンとCONTRIBを適宜修正。

インストール実行

chmod +x install-opencv.sh
./install-opencv.sh

$\tiny{メモリ8GBで2時間ほど走らせても終わらなかったので「?」と思ってたらVirtualBoxのCPU数が「1」のままでした、という失敗談も添えておきます。}$

GoCVの導入

以下のページを参照しました。
GoCVを試すまでのお話

インストール

go get -u -d gocv.io/x/gocv

※要gitのインストール

サンプルプログラムの取得と実行

git clone https://github.com/hybridgroup/gocv
cd gocv
go run ./cmd/version/main.go

以下のようにgocvのバージョンとopencvのバージョンが出力されればOKです。

gocv version: 0.23.0
opencv lib version: 4.1.0

helloが走らなかった件

 cmd配下にはいろいろとサンプルがありまして「hello」もあるので走らせようと思ったら、どうやらカメラを映して表示させるプログラムだったようで、VirtualBox上でUbuntu 18.04を動かしたのですがカメラが反応せずでした。

 そこで、以下の方法で実現し、helloも実行できました。

Extension Packの導入

下記がダウンロードページとなります。
Download VirtualBox
※自分の場合はさらにそこから古いバージョンのダウンロードページに行く必要がありましたが…。

デバイスの追加

 設定はゲストOSを起動した状態でコマンドプロンプトを開け、Webカメラの追加設定をホストOS側のVBoxManagerを用いて行います。

C:\Users\UserName>cd "\Program Files\Oracle\VirtualBox"
C:\Program Files\Oracle\VirtualBox>

 使用している環境を取得

C:\Program Files\Oracle\VirtualBox> VBoxManage.exe list runningvms
"Guest Name" {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}

 接続しているカメラを表示

C:\Program Files\Oracle\VirtualBox> VBoxManage.exe list webcams
Video Input Devices: 1
.1 "Certain WebCam"
\\Camera Path

 上記の「.1」をアタッチ

C:\Program Files\Oracle\VirtualBox> VboxManage controlvm "Guest Name" webcam attach .1

※参考は以下
VirtualBox上の仮想OSでWebカメラを使えるようにする

これでゲストOS上でgo runをかけるとカメラに映った画像が表示されました。

wattak777
自分の備忘録的なものを集めています。 皆様にとって鼻毛切りくらいの価値であれば幸いです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away