質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

4回答

8390閲覧

Raspberry PiでOpenCVを利用する際に適した言語とは

yu340102

総合スコア29

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

1クリップ

投稿2017/05/25 08:04

###前提・実現したいこと
Raspberry Piとカメラを体に装着(?)して,歩きながら動画を撮影した際に,
手ブレではなく歩行によって体が上下するブレを無くし,
撮影した動画中から標識を認識するプログラムを作成しようとしています.
まず,デスクトップPCで基礎となる動画中から物体を認識するプログラムを書いて,
成功したらRaspberry Piに移して試してみる,という流れで行うつもりです.

###発生している問題・エラーメッセージ
Raspberry PiでOpenCVを利用したプログラムを実行する際に適した言語・IDEが分かりません.
調べたところRaspberry Piには色々なOSをインストールできて,
作成したプログラムを実行するIDEも色々なものがあることを知りました.
しかし,自分がどの組み合わせを使えばいいのか分かりません.

###試したこと
インターネット・雑誌で色々検索しましたが,初心者なので詳しく分かりませんでした.
Raspberry PiにOpenCVを導入する記事はPythonが多いような気がしました.

###補足情報(言語/FW/ツール等のバージョンなど)
これまで,Visual Studio 2013でNugetを利用してOpenCVを導入して,C++でプログラムを作成していました.
ですが,C++に詳しいわけではないので,C++とPythonのどちらを利用することになっても,
きちんと勉強するつもりです.
デスクトップPCはwin10でIDEはVS communityの2013/15/17のどれかを使用するつもりで,
Raspberry Piは一番新しい3を買うつもりです.

###回答よろしくお願いします!

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

Raspberry Piで何個か工作をしたことのあるpythonユーザーです。

Raspberry Piは、原則的にはRaspbianというLinuxのOSのひとつで動かすことを想定されている(例外的にDocker等で別の環境にすることもできます)ので、UbuntuなどのLinuxが入ったコンピュータ本体+電子工作の出力端子がついたものと考えるとわかりやすいかなと思います。

ですので、c++は知らないので、python限定で話しますと

【手順】
**1)**コードを書いてファイルにしたものを(IDEは何でもいいと思います。僕のオススメはsublime text(テキストエディタとIDEの境界がちょっとわからないのですが・・・)です。Pycharmというのが有料で結構しますが、便利で人気みたいです。)

**2)**Raspberry Piの中に入れ(Linuxのscpコマンドなどを勉強ください)て、

3)【ここで挫折する人多いのでがんばってください】環境を整え(pythonであればRaspbianは最初からpy2系は使えます。)py3系使うならpyenvなどのあたりを勉強いただければ良いです。どっちみちpythonのバージョン管理(コードによってpython2系をつかうか3系をつかうか切り替えるなどの操作)や、仮想環境設定などは知識として必須になるので頑張るといいかもです。でもなかなか動かすまでに至らずにモチベーションが下がるリスクもあるので最初は環境設定最低限ですむpy2系で動かしてみるのも良いと思います)、

**4)**apt-get(Linux)やpip(Python用)というモジュール管理ツールをつかってopencvを使えるようにインストールしてきます。open cvは apt-getのほうです。たしか。

**5)**Raspberry Piを遠隔操作(Linuxのsshコマンドのあたりを勉強ください)すれば、open cvを動かせます。

私は、open cvはpythonからしか使ったことないのですが、c++でも行けるんですね〜

win環境であれば、teratermかpoderosaとかでリナックスコマンドを打ってラズパイに遠隔操作できます。

参考になれば幸いです。では〜

投稿2017/05/25 08:34

k_mawa82

総合スコア234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu340102

2017/05/26 03:26

回答ありがとうございます. ほかの方の回答も参考にしてOSはRaspbianをインストールしようと思います. いくつか気になることを質問させてください. ・sublime textをお勧めする理由を教えてください. ・OpenCVに関する書籍には,Linux系のOSにインストールする際にはCmakeを用いるかapt-getを用いるかの方法があると記されていたのですが,もしCMakeを用いた方法でも検証していたら教えてください. ・遠隔操作すればOpenCVを動かせるとありますが具体的にどういうことでしょうか? 自分でも色々調べてみます.教えて頂けると幸いです.
k_mawa82

2017/05/26 15:09

>・sublime textをお勧めする理由を教えてください. 他のエディタでもある機能なのでは??と思われますが、私は他のエディタだと数回VisualStudio、あとはVimをたまーに使うだけなのでなんとも比較できないのですが、 ・.pyの拡張子のついたファイルは、自動でpythonコードと認識して、変数や関数を、自動で分かりやすく色分けしてくれる ・カッコなどで、文法が間違えていると蛍光マーカーみたいな表示を自動でしてくれて文法ミスが防ぎやすい ・pythonでコードを書く時キーとなるインデントをコマンドで一気に複数行で手軽にできて便利 ・検索、置換が一発 ちなみに同僚はAtomというエディタを気に入っているようです。Atomも最近人気あるみたいですね! >・OpenCVに関する書籍には,Linux系のOSにインストールする際にはCmakeを用いるかapt-getを用いる >かの方法があると記されていたのですが,もしCMakeを用いた方法でも検証していたら教えてください. CMakeは存在自体聞いたことないですね〜私の勉強不足の可能性が十分にあります汗 ちなみに私はopencv自体は主にMacで使っていまして、Brewでインストールとかしたような記憶があります。それでRasbianならapt-get がbrewにあたるパッケージ管理の仕組みだと思うので、apt-getでやるのが普通かなぁ と思っている次第です。 >・遠隔操作すればOpenCVを動かせるとありますが具体的にどういうことでしょうか? ああ〜 これはあるPCを動かす方法は、①普通にキーボードなどを直接つなぐ と、②ネットを繋いだ状態なら他のPC経由で動かせるという 2つの方法のうちの後者のことですね。例えばレンタルサーバーを借りて、ホームページやブログを表示させようというときに、レンタルサーバー屋さんのビルに直接訪問してPCにキーボード指して動かすというのは一般的には考えにくいですよね?一般的にはレンタルサーバー会社の用意しているウェブサイトにログインして自分の管理しているページをいじる感じですよね?SSHは、同じように、どこか自分のPC以外のPCにプログラムやデータを保管している場所に、自分のPCから操作するためのログインのためのコマンドで、 例えば sshのイメージですが、 ``` (自分のPCから) watashinopc$pwd ~/home/watashinopc #現在のいる場所は自分のPCの~/home/watashinopcですよ watashinopc$ ssh (どこかのPCの住所か指定されている文字列) #sshでどこかのPCの住所にログインします pass word:**** #(どこかのPCからの応答でパスワードを入れろみたいな感じになっていたりいなかったりで、とりあえず入れる) login OK #(どこかのPCに入りましたよと応答がある) hokanopc$pwd ~/home/hokanopc #現在のいる場所は他のPCの~/home/hokanopcですよ とcdなどで移動していないのに、場所を移っている。このPCがラズパイでもいいわけで、ここで何か自分のPCでコマンドを打てば他のPCが動く(自分のPCは動かない) ``` 「ssh とは」「遠隔操作 ssh poderosa」とかで調べるといい記事がでてくるかもですね という感じですかね。なんかわかりにくいかもしれませんが、すみません・・・ イメージできますかね??
k_mawa82

2017/05/26 15:17

追記 Cmakeちょっとだけ調べました、win環境にopencvを入れ込むときに使ようですね。win環境でラズパイに入れ込むopen cvの動作テストをやるには、dockerとかでLinux環境つくってテストしたほうが後々違う環境から来るエラー処理をしなくていいのでいいかもしれないなぁと思いました。 でもまあ、一番わかりやすくかつ楽なのは、RaspbianはGUIも使えるので、最初はラズパイにキーボードとディスプレイを繋いで、Raspbian上でコード書いて、動くかテストもWindowsのように出来るので、それで完成させて、その後にディスプレイやキーボードを外し、ネットで繋いだだけにして、自分のPCからSSHで遠隔操作とかするのが良いかもしれないですね。 ちなみにcronという仕組みをマスターすれば指定時刻にpythonプログラムをラズパイで勝手に動かすとかもできますよ(私はそれで以前、ツイッターにラズパイから勝手に喋らせる仕組みを作って遊びました。面白いです。)
yu340102

2017/05/29 03:18

長文での回答ありがとうございます、とても参考になります。 sublime text 使いやすそうですね、インストールして試してみます! わざわざ調べて検討してくださり、ありがとうございます。 dockerについても調べてみようと思います。 あまりCMakeはオススメできないという結論であってますかね? SSHについて調べました。 teratermはマイコン工作の時に使ったのを思い出しました。なので大体のイメージは伝わりました、ありがとうございます! なんども質問に答えてくださり本当にありがとうございます。再度お礼申し上げます。
k_mawa82

2017/05/29 06:09

うまく伝えられたみたいで嬉しいです。よかったです!ラズパイ無限の可能性があり、いいですよね! >CMakeはオススメできないという結論であってますかね? あ〜 オススメできないというか、linuxとかmacosとかのUNIX系では使わないものであれば、学習が進むとおそらくLinuxとか中心に扱うことになる確率が高そうなので、Win専用だと将来使わなくなり、忘れてしまってその場限りのノウハウになってしまうかもしれないので、どうせ同じ機能をもつツールを学ぶのであれば apt-get など経由でのインストール方法を学んだほうが知識が今後に活かせやすいのでは、という感じのニュアンスです^^ まあその場限りのノウハウで対処することもしばしばあるのでまあどっちでもいいかもしれません・・・  最近はsurfaceとかのwinPCで開発してる方はdockerなどのツールで実質linuxで開発しているというのが少なくないような気がする(気がするだけです^^; 実際のところは知りません)のと、dockerは最近技術としてホットなのでこちらは強くオススメしときます^^ (ラズパイ専用dockerもありますよ!)
guest

0

2/zeroでWebカメラ構築してますがOpenCVは利用していないので、的確な回答はできませんが。

まだハード購入されていないのであれば3をお勧めします。
zeroは消費電力の低さが魅力ですが、画像処理にはちょっと非力です。
PCとRaspPiで異なるカメラでテストする場合、カメラの機種により撮影画像に癖があるので結果に差が出る可能性があります。ご注意ください。

投稿2017/05/25 09:09

can110

総合スコア38339

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu340102

2017/05/26 03:27

回答ありがとうございます. 3を購入する予定です. USBカメラを使うか専用のカメラモジュールを使うかは考え中です.
guest

0

雑誌の「Raspberry PiでOpenCVを利用する」記事の中で、koba830さんが理解できたもの、あるいは、やりたい事に近いプロジェクトが書かれているものから入ってゆくのが良いと思います。

2つの言語、C++とPysonを同時に勉強しようとすると混乱するので、一方を選んで、しばらくはその言語のみを使うのが良いです。

投稿2017/05/25 08:32

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu340102

2017/05/26 02:19

回答ありがとうございます. まだ迷っている途中ですが,どちらか一つに絞って進めていきたいと思います.
guest

0

こんにちは。

Raspberry Pi 3 Model B でいくつかOSを試しましたが、
Raspbianが一番安定している気がします。

情報量的にも OpenCV + Python が多く、私は初心者ですが取り組みやすかったです。

Visual Studio 2015~2017 (2013はどうだったか)はPython拡張が使えるので、
Visual Studio で問題ないと思います。

投稿2017/05/25 08:24

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu340102

2017/05/26 02:18

回答ありがとうございます. サンプルが多いと助かりますね. Raspberry Piでは何というIDEを使用していましたか? 教えて頂けると幸いです.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問