Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
画像処理のハローワールド的存在(?)である笑い男をopenFrameworksのofxCvでやってみました。 pythonとかWebとかでも笑い男書いたし、何かもう笑い男ばっかりやっている気がします。 さて、ソースコード。 #include class ofApp : public ofBaseApp { private: ofVideoGrabber cam; ofxCv::ObjectFinder finder; ofImage laughingMan; public: void setup() override { cam.setup(640, 480); finder.setup("haarcascade_frontalface_default.xml"); finder.setPreset(ofxCv::ObjectFinder::Fast); laughingMan.loadI
openFrameworksとOpenCVを組み合せると何か色々出来そうな気がするので、挑戦してみました。 標準で同梱されているofxOpenCvってやつを試したのですが、何か使いづらいので、ofxCvに鞍替え。 まとまったドキュメントが見合たらないのがかなしいのですが、インターフェースは生のOpenCVと似ているのでC/C++向けのOpenCV経験者なら迷うことは無いと思います。 で。openFrameworksの機能でwebカメラの映像を取得して、ofxCvの機能で加工してみたいと思います。 やりたいのはこんな感じのことです。 左上が生の映像、右上がガウシアンブラーをかけたやつ、左下がグレースケール、右下がCanny法で作った輪郭の映像です。 ソースコードはこんな感じ。 #include class ofApp : public ofBaseApp { private: ofVideo
この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、Python版OpenCV、Python 2.7 ^(1) 、iPy
投稿日時:2011/05/12 今更ですが C/C++ で QRcode を解析する方法です 実は1年以上前にとある事情で作ったやつです といっても余計な部分は削っていったらほぼ作り直しになりました 今回は基本的な使い方の説明です 説明を始める前に残念なことに、QRcode の解析に使用しているライブラリ libdecodeqr が公開されているサイトがいつの間にか閉鎖されていました http://trac.koka-in.org/libdecodeqr いずれ違った形でもいいので再開される日が来ることを望みます 一応断っておきますが、いくら LGPL のライブラリとはいえ閉鎖されているサイトの ライブラリをばら撒くわけにもいかないのでそういった要望はお断りします 今回のソースはこちら http://ohwhsmm7.web.fc2.com/win/QRcode1.cpp 事前準備です l
株式会社インデペンデンスシステムズ横浜 システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。 OpenCVで画像内の輪郭抽出からその輪郭の隣接領域(四角形)を求めてその領域を切り出すという処理を作ってみました。以下の画像がその結果の例です。(※実画像サイズは大きめです。) 今回はその2回目です。前回は輪郭抽出の処理まで書きました。今回は輪郭の直線近似から切り出しの最後まで書きます。 処理としては以下のような流れになります。 入力画像のグレースケール化 ↓ グレースケールから2値可画像の取得 ↓ 2値化画像から輪郭取得 ↓ 輪郭を直線近似(※今回の説明はここからです。) ↓ 直線近似した輪郭が一定以上の面積であれば輪郭に隣接する矩形を取得 ↓ 隣接した矩形を切り出して表示 ここから実際のプログラムの
株式会社インデペンデンスシステムズ横浜 システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。 OpenCVで画像内の輪郭抽出からその輪郭の隣接領域(四角形)を求めてその領域を切り出すという処理を作ってみました。以下の画像がその結果の例です。(※実画像サイズは大きめです。) ここでの処理結果画像内の緑色の線が輪郭で、一定以上の面積の輪郭を直線近似した線が青色の線です。一応面積も表示しています。以下が切り出した領域の画像の一部です。 ここではペットボトルのキャップの下が透明になっているのでペットボトル全体の輪郭ではなくキャップ部分と胴体部分を認識したようです。既に飲んだ後で空だったと思います。中身が入った状態で光の反射等があれば別の輪郭を認識したかもしれないです。漢字はそれぞれこのような結果になりまし
cv::moments¶ Comments from the Wiki Moments moments(const Mat& array, bool binaryImage=false)¶ ポリゴンまたはラスタライズされた形状の,3次までのモーメントを求めます. ここで Moments クラス は次のように定義されます: class Moments { public: Moments(); Moments(double m00, double m10, double m01, double m20, double m11, double m02, double m30, double m21, double m12, double m03 ); Moments( const CvMoments& moments ); operator CvMoments() const; // 空間モーメ
はじめに 前回の記事で書いたように 8/1、8/2 に東京ビッグサイトにて開催された MFT 2015 へ友達と趣味で制作していた LITTAI というゲームを出展してきました。お越しくださった皆様、ありがとうございました! LITTAI は Lit Table Interface の略の造語で、以下の様なコンセプトを掲げるゲームです。 テーブル上で実際にものを操作しながら遊ぶゲーム 操作するものはリアルタイムにカスタマイズ可能 ハードウェアとゲームの世界が連動 基本的なコンセプトは以前出展した Mont Blanc Pj. とほぼ同じで、こういった技術を使いつつ遊び手に技術を意識されないようなゲームの新しい遊び方を模索するのが目的です。 製作期間はネタ出しで 1 ヶ月、実験・制作が 2 ヶ月半くらいです。私は認識部とゲーム部のソフトウェア全般を担当しました。ハードウェア全般は前作同様 i
ikashot.net ※ 現在、IEで画像が表示できない不具合があります。お手数ですがIE以外でのアクセスをお願い致します…すみません。 何を作ったか スプラトゥーンではバトルの履歴を見れないようになっているので、勝率がわかりません。自分の勝率がどの程度なのか知りたいなーと思ったので、勝敗を自動記録する仕組みを作ってみました。 仕組み 以下のような流れで処理しています。 Raspberry Piのpicameraで、TV画面をキャプチャする キャプチャ画像のなかにWIN or LOSEの結果が表示されているかOpenCVを使って判定する WIN or LOSEが検出されたら、WebAPIを通して結果画面のイメージと勝敗をアップロードする 不格好ですが、こんな具合にラズパイをセットしてTV画面をキャプチャしてます。 OpenCVの画像認識について WIN or LOSEの判定はOpenCV
今回は、OpenCVという映像解析の技術を応用して、ライブ映像を用いたインタラクティブな表現に挑戦します。 「OpenCV」とは、「Open Computer Vision Library」の略で、オープンソースでコンピュータビジョンの技術を利用可能なライブラリです。米Intel社で開発され、画像処理・画像認識用のC/C++言語のライブラリとして配布されています。商用・非商用を問わず無料で使用することが可能です(BSDライセンス)。 OpenCVのコアとなる技術「コンピュータビジョン」とは、ひとことで言うと「ロボットの目」を作るという研究分野です。「コンピュータビジョン」の実現のために、画像のセンシングのためのハードウェアの研究から情報を認識するための人工知能の研究まで、広範囲な分野の研究が行われています。 OpenCVは、この「コンピュータビジョン」の研究の中でソフトウェアを用いて画像処
第1回、第2回と画像認識の基礎とOpenCVについて紹介してきました。第3回目の今回は、いよいよ本連載の目玉であるOpenCVを使ったオブジェクト検出に挑戦してみます。 オブジェクト検出の仕組み 基本原理のおさらい オブジェクト検出のプログラムを書き始める前に、そもそもどんな仕組みでオブジェクト検出を行っているのかを理解しましょう。 第1回では画像認識の原理として、学習フェーズと認識フェーズがあることを説明しましたが、OpenCVに実装されているオブジェクト検出プログラムもこの流れに従います。つまり、画像から特徴量を抽出し、学習アルゴリズムによってオブジェクトを学習します(詳しくは第1回を参照してください)。 図1 画像認識の流れ OpenCVに実装されているオブジェクト検出プログラムは、Paul Violaらのオブジェクト検出の研究[1]をベースに、Rainer Lienhartらが
Using Android binary package with Eclipse¶ This tutorial was tested using Ubuntu 10.04 and Windows 7 SP1 operating systems. Nevertheless, it should also work on any other OSes supported by Android SDK (including Mac OS X). If you encounter errors after following the steps described here, feel free to contact us via OpenCV4Android discussion group or OpenCV Q&A forum and we will try to help you. Qu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く