読者です 読者をやめる 読者になる 読者になる

Flow-Developers

Raspberry Pi, Raspbian, python, ROS, IoT, 電子工作, 機械学習, Deep learning, サッカー, スポーツ写真, ライフハック

Visual Stadio Codeで,C/C++開発環境を構築する(Windows)

Visual Stadio Code Lifehack

はじめに


VisualStadioCodeにC++Intellisenseをinstallする

f:id:flow-dev:20170109080711j:plain

GNU GLOBAL(gtags)のinstallする

GNU GLOBAL(gtags)とは,C/C++の参照関係を記述したタグファイルを生成するライブラリ. GNU GLOBAL(gtags)が詳しいので,以下はポイントを簡単に.

ターミナルを立ち上げて,gtags.exeを実行する.

  • VisualStadioCodeで,「指定した関数が参照されている先を検索する」を行いたいC/C++コード群のフォルダを開く.
  • VisualStadioCodeから"Ctrl+@"で統合ターミナル(コマンドプロンプト)を起動する.
  • 以下のコマンドで,gtags.exeを利用して,「指定した関数が参照されている先を検索する」ためのタグファイルを生成する.
> gtags.exe -v
  • GPATH, GRTAGS, GTAGSという3つのタグファイルが生成される.
  • [参考]C/C++コードの参照関係を変更したタイミングで,再度gtags.exeを実行する必要がある.

C/C++コード上で.「すべての参照の検索」を実行する.

  • VisualStadioCodeで,「指定した関数が参照されている先を検索する」を行いたいC/C++コードファイルを開く.
  • 任意の関数を反転させて,右クリックまたは,Shift+F12で,すべての参照の検索を実行する.

f:id:flow-dev:20170109080725j:plain

  • gtags.exeでタグファイルが正しく生成されていれば,参照先の一覧が表示される.

エラー(実行できない)時に確認すべき点

  • 任意の関数を反転させて,右クリックまたは,Shift+F12で,すべての参照の検索が出来ない場合は,C++Intellisenseプラグインからhttp://adoxa.altervista.org/global/の導入が出来ていない
  • ※gtags.exeでタグファイルが正しく生成されていなければ,結果がありませんと出る.上記の環境構築を再確認.

まとめ

flow-developers.hatenablog.com

参考

RaspberryPiにroswwwをinstallするTips

Raspberry Pi ROS

RaspberryPiにroswwwをinstallするTips

  • RaspberryPiにROSをinstallしたのち,rosbridgeとroswwwをinstallすればWebインターフェースを介してRaspberryPi+ROSを制御することができます.
  • RaspberryPi+ROSに接続したカメラの映像をsensor_msg/CompressedImageとし,Webインターフェースに投げて遠隔表示することもコツがわかれば簡単です.
  • 今回はまず,RaspberryPiにroswwwをinstallする方法を書きます.

flow-developers.hatenablog.com


roswwをRaspberrypiにinstallするコマンド

# roswwwのUsrageはこちら.
<http://wiki.ros.org/roswww>

# ROSのworkspaceに移動する.
cd ~/ros_catkin_ws/src

# 最新のroswwwを取得する.
git clone  https://github.com/tork-a/roswww.git

# catkin_makeを実行する.
cd ~/ros_catkin_ws 
sudo ./src/catkin/bin/catkin_make_isolated --install --install-space /opt/ros/indigo --pkg roswww
source /opt/ros/indigo/setup.bash

# [TIPS] launchファイルが2か所に同じ名前であるので、どちらかを消す.
/opt/ros/indigo/share/roswww/launch
か
~/ros_catkin_ws/src/roswww/launch
どちらかの
roswww.launch と start_bridge.launch
を消す.※中身は同じですが競合してlaunch実行がErrになるため.

# 最後にサーバー立つか,実行して確認しinstall完了.
roslaunch roswww start_bridge.launch

まとめ

  • 今回はRaspberryPiにroswwwをinstallするTipsを書きました.
  • launchファイルが2か所に同じ名前であるので、どちらかを消す.がポイントです.
  • rosbridgeのinstall方法はまた次回.

Markdownの書き方(レポート作成に必要な6つの記法)

Lifehack

Markdownの書き方(レポート作成に必要な6つの記法)

  • すぐに忘れてしまう,レポート書くのに最低限必要の記法まとめ

見出し

# 見出し1
## 見出し2
### 見出し3
#### 見出し4

見出し1

見出し2

見出し3

見出し4


箇条書き

* 箇条書き
* 箇条書き
* 箇条書き
- 箇条書き
- 箇条書き
- 箇条書き

  • 箇条書き
  • 箇条書き
  • 箇条書き
  • 箇条書き1
  • 箇条書き2
  • 箇条書き3

引用

>引用

引用


コード引用(python)

```python
print 'Hello world'
```

print 'Hello world'

コード引用(bash)

```bash
#!/bin/bash
echo "Hello World !"
exit 0
```

#!/bin/bash
echo "Hello World !"
exit 0

コード引用(cpp)

```cpp
int main(int argc, char *args[])
{
    printf("Hello, world!\n");
    return 0;
}
```

int main(int argc, char *args[])
{
    printf("Hello, world!\n");
    return 0;
}

リンク引用

[flow-developers](http://flow-developers.hatenablog.com/)

<http://flow-developers.hatenablog.com/>

flow-developers

http://flow-developers.hatenablog.com/


画像引用

![logo](http://k.yimg.jp/images/top/sp2/cmn/logo-ns-131205.png)

logo


テーブル

|左揃え|中央揃え|右揃え|
|:---|:---:|--:|
|align-left|align-center|align-right|
|セルの左揃えです|セルの中央揃えです|セルの右揃えです|

左揃え 中央揃え 右揃え
align-left align-center align-right
セルの左揃えです セルの中央揃えです セルの右揃えです

Markdown環境設定の過去記事はこちらに。 flow-developers.hatenablog.com


以上

pythonでグレースケール→カラーマップ(colormap)変換の関数化

python IoT

グレースケール→カラーマップ(colormap)変換の関数化

  • グレースケール→カラーマップ(colormap)変換の汎用的サンプルコードがありそうでない。
  • pythonで関数化した。簡単なのでpython以外でも流用可能。
  • IoTブーム。種々のセンサ出力のカラー化に必要になるかと。

Usage

  • 0を中心に+-5を変化終点としたカラーマップ(colormap)
  • RGB(255,255,255)の変化を示すグラフ
  • カラーマップ(colormap)をmatplotlibでカラーバー(colorbar)
  • 用途に応じて範囲等は変更可能な記述とした。

f:id:flow-dev:20161008181320j:plain f:id:flow-dev:20161008171838p:plain


SampleCode

  • サンプルコードはGitHub Gistにupload済。
  • コピペしてご利用ください。

(pandoc不要!)Markdownを簡単きれいにPDF変換する!

Lifehack Visual Stadio Code

はじめに

VisualStudioCodeは、markdownの編集/プレビューも可能な便利なエディタ。

VisualStudioCode

  • しかし、デフォルトではmarkdownをpdf/htmlファイルで出力できない。
  • markdownに興味がない人に、markdwonで書いたドキュメントを渡したい時に困る。
  • 一方で、ググると「pandocを使え」と出てくる。
  • pandocは色々できるけど設定がめんどくさい。 *「もっと簡単に」「まぁ綺麗なフォント」でmarkdownをpdf/htmlファイル出力したいんだよね。
  • markdown-pdfなんてのもあるが、「まぁ綺麗なフォントじゃない」。cssファイルを探す手間とかいらない。
  • なかなか良いのがなかったんですが、ありました!

vscode-markdown-pdfを最高

  • 「もっと簡単に綺麗なフォントでmarkdownをpdf/htmlファイル出力してほしい」
  • このすべてを満たすのがvscode-markdown-pdf

Install

  1. 左下の拡張機能アイコンをクリック
  2. 検索窓にpdfと入力
  3. Markdown PDFをインストールする

f:id:flow-dev:20161006221202j:plain

Usage

2017/2/3追記.画像をたくさん張る場合,各画像をVGA(640x480)くらいにresizeしてからmarkdown->pdfしないとerrで落ちやすい(ver.0.1.5で確認)

  1. Markdown ファイルを開く
  2. 右クリックしてConvert Markdown to PDFを選択するとpdf変換が始まる
  3. ファイル -> 基本設定 -> ユーザ設定settings.json を開く
  4. 以下の設定を変更すると出力フォーマットをpdf , html, png, jpegから選択可能
 // Output format: pdf, html, png, jpeg
    "markdown-pdf.type": "pdf",

* 詳細は公式Readmeで。 vscode-markdown-pdf

今回のページをvscode-markdown-pdfでpdf/html化したスクリーンショット

  • pdf f:id:flow-dev:20160901143344j:plain

  • html f:id:flow-dev:20160901143335j:plain

  • フォントも色もデフォルトのままでまぁ綺麗。


まとめ

参考文献

vscode-markdown-pdf

Rapsberry pi(Raspbian Jessie)でTensorFlowを動かしてみた。

Raspberry Pi Raspbian ディープラーニング 機械学習 IoT

はじめに

TensorFlowGoogleオープンソースで公開した機械学習のライブラリ。ディープラーニング実装でTensorFlowが流行るかなと思ったが、サポートOSはMacOS/linuxOS/iOS。残念ながらWindowsOSは未サポート。それなら、Rapsberry pi(Raspbian Jessie)で動かないかなと思ったら、ありました。

f:id:flow-dev:20160613101454j:plain


インストール方法

  • tensorflow-on-raspberry-piを利用して、TensorFlow0.8.0の環境をRapsberry pi(Raspbian Jessie)上に作ります。arm用ビルド対応が入ってます。ちなみにGoogleサポート外です。
  • Rapsberry pi2で試しましたが数分で問題なくインストール出来ました。
$ sudo apt-get install python-pip python-dev
$ wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/raw/master/bin/tensorflow-0.8.0-cp27-none-linux_armv7l.whl
$ sudo pip install tensorflow-0.8.0-cp27-none-linux_armv7l.whl

MNISTをTensorFlow + Rapsberry pi(Raspbian Jessie)で動かしてるスクリーンショット

  • 手書き文字学習の定番、MNIST For ML Beginnersを動かしてみました。
  • CPU負荷325.6%!で、ゆっくりMNISTを計算してくれます。

f:id:flow-dev:20160613092937p:plain

まとめ

Rapsberry pi(Raspbian Jessie)でTensorFlowを動かしてみました。Rapsberry piでTensorFlowも動いちゃうなんて面白いですよね。ではまた。

参考文献

TensorFlow

tensorflow-on-raspberry-pi

MNIST For ML Beginners

クラマー,ペレ,ガリンシャ,ジョージベストそしてクライフ. サッカーのモノクロ写真をディープラーニングで自動彩色をしてみた。

ディープラーニング サッカー 機械学習

ディープラーニングを用いた自動彩色

ディープラーニングを用いた自動彩色、前から試してみたかったのですが、環境作りが億劫で手を付けていませんでした。しかし先日、早稲田大の研究チームから、

ディープネットワークを用いた大域特徴と局所特徴の学習による 白黒写真の自動色付け

という論文が発表され、 合わせてubuntuで環境構築が楽なコードも公開されたので、早速試してみました。

環境構築

こちらを参考に。

【自動彩色!】色塗り人工知能のインストール方法【Ubuntu】

テスト画像

サッカーの歴史的なモノクロ画像を中心に自動彩色してみました。

空と芝生が含まれる構図がそこそこ得意なようです。画像の特徴として肌の色はもうちょっと出て欲しいような気がします。

では、比較的上手くいった画像を。

クラマーさん
  • 荒れた芝生感が日本サッカー初期の情景に深みを与えましたね。
ペレ
  • 1番上手く彩色された画像です。難しそうですがユニフォームの色が出ればなぁ。

ペレ

ペレ

ジョージベスト
  • 芝の彩色でネット越しの立体感が出ました。
ガリンシャ
  • ガリンシャはモノクロのイメージが強いですが、そのイメージが変わる一枚に。
クライフ
  • オレンジのユニフォームを彩色出来れば、 抜群に良かったのですが。

Cruyff, Flying Dutchman

Cruyff, Flying Dutchman

  • Bridge
  • J-Pop
  • ¥150

おまけ:ローマの休日
  • 定番ですが、青空が綺麗だったので。空領域の分割はかなり上手くいってますね。

まとめ

サッカーの歴史的写真を中心に、ディープラーニング自動彩色を試してみました。サッカーに寄せた画像で学習すればユニフォームの色分けなどはもう少し良くなるのではないでしょうか。やっぱりディープラーニングは、何を学習させるかが肝のように思います。世界中の画像を手元に置いてるところなら力技で出来るかもしれませんが。ではまた。