前回の続きです。 部品を購入したところで取り付けないと始まりません。 a244.hateblo.jp 前提条件と準備 前提条件は以下の通り。 Camera Module V2.1 Raspberry Pi 3 model B Raspbian Jessie 過去記事で使っている環境にカメラが追加されただけです。 注意点など Raspbian をアップデートした状態に GL Driver は無効化*1しておく 以下のコマンドを実行してOSをアップデート。 $ sudo apt update $ sudo apt upgrade 念の為、ファームウェアもアップデートしておく。 $ sudo rpi-update 正常終了したら再起動。 以下、参考。 $ uname -a Linux raspberrypi 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT
GPIOの制御は単純? この記事を書き始めるまで、GPIOの制御は複雑に違いない、WiringPiの中身なんて知りたくもないと思っていたのですが、実際にはGPIOの制御は単純でした。レジスタに値を書き込む、それだけです。 レジスタに値を書き込むと、その値に応じてGPIOの電圧を変化させたり、GPIOから電圧を読み取ったりできます。 レジスタ is 何 レジスタ (コンピュータ) - Wikipediaによると: ペリフェラルレジスタは、ペリフェラル(プログラマブル・カウンタや割り込み制御、シリアル通信ポートなどのハードウェア)の動作を設定したり、動作状況を読み出したりするためのレジスタである。これらのレジスタはプロセッサ内のレジスタとは異なり、プロセッサからアクセスできるアドレス空間の一部に配置される。 SSDやHDDなどのストレージ、そして、この記事の読者は確実に16GBは積んでいるであ
autotools に比べてとても使いやすい。 CMakeLists.txt ビルド対象のディレクトリーに CMakeLists.txt を配置することで cmake コマンドが対象だと認識してくれるようになる。 最低限必要な設定は次になる。 cmake_minimum_required CMakeLists.txt に記載されている内容を実行するにあたって必要な CMake のバージョンを明示する add_executable 実行ファイル名と、そのビルドに必要な c / cpp ファイルの指定 ヘッダーファイルはここに指定しなくても、更新すると勝手に認識してリビルド対象にしてくれる target_link_libraries リンクするライブラリーの指定 gcc に -lfoo と指定していた場合、 foo とだけ書く ビルド対象の分割 複数のビルド対象がある場合、ひとつの CMake
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは、LINE で LINE GAME Clinet SDK の開発をしている やまぐち です。 この記事は LINE Advent Calendar2016 の 10 日目の記事です。 弊社でも iOS / Android / Unity 向けに LINE GAME Clinet SDK を提供しています。コードは共通の C++ を使っているのですが、複数のプラットフォーム向けにビルドを行う必要があってソースファイルの管理やビルド方法がバラバラで大変ですよね。そこでクロスプラットフォーム向けのビルドシステムなどを調査してCMake を使ってクロスプラットフォームビルド環境を作ることにしました。 CMake を採用した理
自分のメモのために書いていくので,誰かのためになったら幸せです. 主にlinux, プログラム,電子回路について書いていきます. また、ここに載せる内容を参考にする場合は自己責任でお願いします。 配列やVectorなどの合計や平均値を求めたい場合に"std::accumulate"という関数を使うと比較的簡単に求められます. これから,基本的な使い方と,自分がはまったところを説明します. まず,簡単な使い方は下のコードを見てください. #include <iostream> #include <vector> #include <numeric> int main(void) { std::vector vec; for( int i = 0; i <= 10; i++){ vec.push_back( i ); } std::cout << "sum = " << std::accumu
cv::formatとは cv::Matの中身を様々なフォーマットで出力してくれる便利関数です. デフォルトスタイル,python,numpy,csv,c言語の配列スタイルの出力フォーマットを選択できます. 実験の結果を吐き出して,エクセルでざっくりとグラフにしたい時とかに便利です. OpenCV3.1の公式ドキュメントはこちらからどうぞ. 出力フォーマットの設定は,2.0と3.0では違うので注意が必要です. 2.0での使用方法は,こちらに書いてあります. 2.0では,文字列での指定でしたが,3.0からはcore.hppにFormatterクラスがあり, そこに各フォーマットの列挙子があります. Format OpenCV2.0 OpenCV3.0
行列要素の四則演算を行う¶ サイズや要素の型が異なる配列の場合,要素同士の演算はできません. 例外発生時のメッセージは,OpenCV のバージョンによって異なります. #include <iostream> #include <opencv2/core/core.hpp> int main(int argc, char *argv[]) { // 3x3 の行列 cv::Mat m1 = (cv::Mat_<double>(3,3) << 1, 2, 3, 4, 5, 6, 7, 8, 9); std::cout << "m1=" << m1 << std::endl << std::endl; // 行列とスカラ cv::Mat m2 = m1+3; cv::Mat m3 = m1*3; // スケーリング cv::Mat m4 = m1/3; std::cout << "m2=" <<
今回は、OpenCV 3.1でラベリング処理を行いました。ラベリング関数はOpenCV 3.0から標準で組み込まれていたのですが、実際に使ってみたのは今回が初めてです。 OpenCV 2.4.xの時は、ラベリングをする際に、非常に苦労した(試行錯誤した)記憶があります。その時は、井村先生のLabeling.hを使わせていただいたと思います(阪大から関学に移られて、昔のリンク先が変更になっているようです・・)。この他にも輪郭処理(cvFindContours)を用いた方法がいつもお世話になるこのサイトに紹介されていますが、簡便にできる方法ではなく、内容が非常に複雑です。 OpenCV 3.0から組み込まれている「ラベリング」の関数は、connectedComponentsとconnectedComponentsWithStatsの2つです。この関数についての詳しい使い方はこのサイトに、ラベリ
OpenCV 2.xでヒストグラム画像を生成する方法を調べました。結論から言うと、ヒストグラムを生成する関数はあるんですが、それを画像として表示する簡便な方法はないようです。いくつかのサイトを参考にして、自分でもヒストグラム画像を作成してみました。Windows 7 + OpenCV 2.4.8で動作を確認しています。 なお、OpenCVにこだわらないのであれば、PythonのmatplotlibやR言語を使うことも検討した方がよいと思います。 ヒストグラムの作成 白黒画像の輝度をもとにヒストグラムを作っていきます。まず白黒モードで画像を読み込みます。 cv::Mat img = cv::imread("..\\img\\baboon200.jpg", CV_LOAD_IMAGE_GRAYSCALE); 次に、ヒストグラムを作成する関数cv::calcHistを呼びます。引数が多くややこし
OpenCVの重要な型 Mat OpenCVでは画像をMat型として扱う。 Matの扱い方がわかれば、画像を自由に操れる。 ここでは、「知っておくと得するMat豆知識」をご紹介しよう。 なお、この投稿では輝度画像のみを対象とする。 Matの要素を取得 Mat image(Size(100, 200), CV_8U, Scalar::all(0)); uchar pixel = image.at<uchar>(100, 50); 素朴なプログラムでは各要素にアクセスすることが多くなる。 at<データ型>(y, x) だ。データ型を指定する必要があるってことと、x, yの順番が逆なことに注意だ。 どうして(x, y)じゃないのか? それは行列だから。(行、列)の順に指定するのだ。 (ちなみにメモリ上でも行ごとにまとまっている。 のちのち重要になってくる知識) このatはデバッグモードだと非常に
Introduction OpenCV Tutorials OpenCV-Python Tutorials OpenCV.js Tutorials Tutorials for contrib modules Frequently Asked Questions Bibliography Main modules: core. Core functionality imgproc. Image Processing imgcodecs. Image file reading and writing videoio. Video I/O highgui. High-level GUI video. Video Analysis calib3d. Camera Calibration and 3D Reconstruction features2d. 2D Features Framework
挑戦したい社会課題を見る 未来に向けて挑戦したい社会課題(Issue)をastamuse独自の切り口でまとめ、技術やベンチャー企業等の関連情報と共に公開しています。 分野別動向を見る 約38万を超える分野情報を公開しています。事業推進に欠かせない、主力企業や技術力のランキング、共同研究や競合情報、参入撤退の情報を掲載しています。 キーワードを見る 収録件数480万件に及ぶ、あらゆる技術や素材、発明に関する専門用語や単語を収録しています。意味や用法を知るだけでなく、活用できる市場や分野の情報も得られます。 法人情報を見る 約30万を超える法人・企業のデータを、保有する技術情報を切り口に注力している分野、提携・競合の関係、関連する人物など目的に合った法人情報を見つけることができます。 技術情報を見る astamuseでは、約1,100万件の技術情報を閲覧することができます。分野別の技術情報・最
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く