2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry PI3 でソニーセミコンダクタソリューションズのIU233をOpenCV経由で動かす①

Last updated at Posted at 2017-08-01

概要

今年のみんなのラズパイコンテスト2017で,ソニーセミコンダクタソリューションズさんの「IU233」をお借りすることができました.
IU233をラズパイで動かす手順については,「ビジョンプロセッシング・コミュニティ」にて説明がなされているのですが,これを実際にプログラムに組み込んで使用するためにOpenCV上からアクセスすることを目指してトライしてみました.

目次

1 環境
2 IU233の動作確認
3 OpenCVインストール

1 環境

  • Raspberry PI3 modelB
  • Jessie (2017-07-05 : 8.0)
  • IU233
  • Python 3.4.2
  • OpenCV 3.2.0

2 IU233の動作確認

開封

IMG_2242.JPG

白黒カメラを使おうと思って応募したのですが,中にはカラーと白黒の二つのカメラも入っていました.
梱包されていたのは,

IU233N USB-EVBIU233N2-Zによる撮影

IMG_2318.jpg

windows10にUSBで接続して,動作確認.
IU233N2-Zを小っさいコネクタにはめ込んで,そのままMicro USBに差し込んだらwindows上で即認識.

USB カメラとして確認.作業的にはなにも無し
スクリーンショット 2017-08-01 11.11.29.png

適当なviewerがなかったので,Python + OpenCVでキャプチャ

import cv2

capture = cv2.VideoCapture(0)
if capture.isOpened() is False:
    print("IO Error")
cv2.namedWindow("Capture", cv2.WINDOW_AUTOSIZE)

while True:
    ret, image = capture.read()
    
    if ret == False:
        continue
    cv2.imshow("Capture", image)
    
    if cv2.waitKey(1) == 27:
        cv2.imwrite("image.png", image)
        break
cv2.destroyAllWindows()

結果
image.png

今回は動作確認のみなので,画像解像度やフレームレートは弄らず.

IU233N5-ZIU233N USB-EVBによるRaspberry PI3への接続

配線

こんな感じ
IMG_2319.JPG

動作確認

IU233用VPF画出し手順に従って動作確認.

※この部分について必要であれば追記します

3 OpenCVでの動作確認

OpenCVをRaspberry PIにインストール

いくつかのサイトを参考にインストール.
特に参考になったのは「OpenCV + Python3 on Raspberry Pi」.というかほぼその通り.

OpenCVにUSB接続で画像を表示

Raspberry PIのカメラモジュールをOpenCVに接続

raspicam_cvのインストール

ここここを参考に.

必要なツール,ライブラリをインストール

sudo apt-get -y install build-essential cmake cmake-qt-gui pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff5-dev libtiff4 libtiffxx0c2 libtiff-tools

sudo apt-get -y install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs libavcodec-dev libavcodec56 libavformat56 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine2-ffmpeg libxine2-dev libxine2-bin libunicap2 libunicap2-dev libdc1394-22-dev libdc1394-22 libdc1394-utils swig libv4l-0 libv4l-dev libgtk2.0-dev pkg-config
sudo apt-get install libswscale-dev

RasPi-CAM用ライブラリのインストール

Raspberry Pi userland libraryのインストール

sudo apt-get install gcc g++ libx11-dev libxt-dev libxext-dev libgraphicsmagick1-dev libcv-dev libhighgui-dev
mkdir -p ~/git/raspberrypi
cd ~/git/raspberrypi
git clone https://github.com/raspberrypi/userland.git
cd userland
./buildme

raspicam libraryのインストール

cd ~/git
git clone https://github.com/robidouille/robidouille.git
cd robidouille/raspicam_cv
mkdir objs
make

ところがここでエラー発生
raspicam_cvのmakeでエラーが...
原因は,フォルダ構成を上記の参考と異なる位置にしていてMakeFileのパスが異なっていたこと.
さらにraspicam_cvのgitの置き場を自分で変更していたので,そこを修正.

パスの変更

#CFLAGS_OPENCV = -I/usr/include/opencv
CFLAGS_OPENCV = -I/usr/local/include/opencv

OpenCV3用に opencv_legacy を削除

#LDFLAGS2_OPENCV = -lopencv_highgui -lopencv_core -lopencv_legacy  ....
LDFLAGS2_OPENCV = -lopencv_highgui -lopencv_core  ....

これで再度make
しかし,またエラーが発生.

いろいろ調べていくと(詳細をメモし忘れて不明...orz)CvRoundが見つからないなどのエラーが発生して,コンパイルできない.
これの原因で,OpenCV3.2で同様のエラーが起きているという事案を見つけて,今度はOpenCVを3.1へダウン.

最終的にraspicam_cvをMakefile書き換えてmake.
これでコンパイルが通った.



しかし...
GitHub: raspicam_cv make error (cvRound) #16によると,

Hi,
Change BUILD_TYPE=release in Makefile
Before, apply issue #15

とあり,その通りにMakeFileを設定して,OpenCV3.2をインストール & makeすると,コンパイルが通ってしまった....orz

あとで3.1は消しました...

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?