FC2カウンター FPGAの部屋 2016年10月11日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

PYNQボード4(OpenCVをインストール)

PYNQボード3(Jupyter Notebook)”の続き。

前回は、PYNQボードのJupyter Notebook を試してみた。今回は、PYNQボードのLinux を確認して、OpenCVをインストールしてみた。

PYNQボードのLinux はUbuntu 15.10 だと起動メッセージに書いてあった。まずはどのような構成になっているかを確認してみることにした。方法は、Ubuntu14.04 のパソコンにPYNQ のMicroSD カードをマウントした。
PYNQ_20_161010.png

84 MB のボリュームと rootfs があった。

PYNQボードのLinux で sudo apt-get update を行った。
PYNQ_21_161010.png

次に、sudo apt-get upgrade を行った。この時点での、MicroSD カードの占有率は 37 %。
PYNQ_22_161010.png

sudo apt-get install nautilus で nautilus をインストールして、Xming を立ち上げてから、nautilus & で起動したら、うまく起動できた。
PYNQ_23_161010.png

gedit もインストールして起動した。
PYNQ_24_161010.png

PYNQボード、使えそうだ。

次からは、Vivado and zybo linux勉強会資料3 を参考に設定した。

最初に、タイムゾーンがUTC になっていたので、JST に変更した。ln -sf /usr/share/zoneinfo/Japan /etc/localtime
PYNQ_25_161010.png

次は、OpenCV 2.4.6.1 をインストールしよう。

OpenCV ディレクトリを作成した。
PYNQ_26_161010.png

opencv_pre_install.sh を作成した。
PYNQ_27_161010.png

./opencv_pre_install.sh を起動する。
PYNQ_28_161010.png

./opencv_pre_install.sh の実行後。
PYNQ_29_161010.png

wget ftp://ftp.jp.netbsd.org/pub/pkgsrc/distfiles/opencv-2.4.6.1.tar.gz で OpenCV 2.4.6.1 をダウンロードした。
PYNQ_30_161010.png

build ディレクトリを作成して、cmake を起動した。
PYNQ_31_161010.png

make
PYNQ_32_161010.png

sudo make install
sudo ldconfig

PYNQ_33_161010.png

df すると 75 % 使用していたので、make clean した。すると 55 % になった。
PYNQ_34_161010.png

サンプルをコンパイルした。
レナ像の顔認識がうまく行った。
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_eye.xml" --scale=1.3 lena.jpg
PYNQ_35_161010.jpg

  1. 2016年10月11日 05:47 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:3

PYNQボード3(Jupyter Notebook)

PYNQボード2(Linux の起動)”の続き。

前回はLinux を起動して、起動メッセージや、Webページ、Samba の様子を確認した。今回は、PYNQボードで起動しているWebアプリケーションのJupyter Notebook をやってみた。

まずは、PYNQのマニュアルの”Introduction to Jupyter Notebook”からやってみた。

まずは、Jupyter Notebook について、全く知らないので調べてみた。
Jupyter Notebook を使ってみよう”によると、

Jupyter Notebook (読み方は「ジュパイター・ノートブック」または「ジュピター・ノートブック」) とは、ノートブックと呼ばれる形式で作成したプログラムを実行し、実行結果を記録しながら、データの分析作業を進めるためのツールです。

だそうだ。つまり、記録しながら実行もできるよというツールなんだろう?

その他のジュピター・ノートブックの資料を示す。
Windows によさげなノート環境JupyterNotebook環境をつくる
Jupyter Notebookの拡張機能を使ってみる

次に、PYNQのマニュアルの”Introduction to Jupyter Notebook”の手順でジュピター・ノートブックを使ってみた。
PYNQ_13_161009.png

うまく行った。これは便利だ。

次に、”Cortex-A9 programming in Python”をやってみたが、これもうまくいった。

Video using the Base Overlay”をやってみた。これは、PYNQボードのHDMI IN から入れた画像をPython でキャプチャできるそうなので、ZYBO_0 からのカメラ画像を入れてみた。

ZYBO_0 をブートして、カメラ画像をHDMI OUT に出力する。
PYNQ_14_161009.png

Overlay("base.bit").download() でビットファイルがダウンロードできるようだ。これは便利だ。xdevcfg を使っているのだろうか?

Python コードを実行すると、

HDMI is capturing a video source of resolution 1024x768

と表示され、XGA 画像だと認識できている。
PYNQ_15_161009.png

HDMI IN に入力された画像がキャプチャできた。この画像は乱れているように見えるが、XGA画像フォーマットにSVGA の画像を載せているので、このような画像になって正常なのである。
PYNQ_16_161009.jpg

エリア内のGreen を 255 にするPython コードも正常に動作した。
PYNQ_17_161009.jpg

HDMI IN の画像をHDMI OUTに出力しようとしたが、出力できなかった。
PYNQ_18_161009.png

マニュアルによると、対応する解像度は、

Valid resolutions are:

0 : 640x480, 60Hz
1 : 800x600, 60Hz
2 : 1280x720, 60Hz
3 : 1280x1024, 60Hz
4 : 1920x1080, 60Hz

だそうだ。つまり、XGA解像度が無かった。。。
HDMI 入力はあるけど、HDMI 出力は無いようだ。

今までジュピター・ノートブックを試した記録は、test1_161009.ipynb としてセーブした。
  1. 2016年10月11日 05:07 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0