catalinaの備忘録

ソフトウェアやハードウェアの備忘録。後で逆引きできるように。

OpenCV

カードゲームARの実現可能性検証

なんとなくですが実現可能性は高い気がしてきました。かたりぃなです。 本題に入る前に問題領域を今一度整理します。 やりたいこと MTGや遊戯王みたいなカードゲームの遊びの付加価値として、AR化を考えています。 やりたいことはARと一言で済むのですが、も…

古典的な手法を使ってMTGのカードを検出する

古典的な方法で画像中からMTGのカードを取り出す実験をしてみます。かたりぃなです。 BRISK特徴点のマッチング実験 わかっててダメもとでやってみました。 ダメでした。はい。 説明省略。 BRISKの使い方間違えていた 前回のエントリでBRISK使ったつもりでし…

物体検出器をいろいろと試す

Hololensで使える実用的な物体検出器がないか試行錯誤しています。かたりぃなです。 どうして物体検出器? まず、現状までに作った機能では「特定の条件下」でのみMTGのカードを検出できています。 手順は次の通りです。 ガウシアンフィルタで細かいノイズを…

HololensでARをやってみる

HololensでARをやってみる HoloLensでARをやってみました。かたりぃなです。 まだ完成には遠いので間違いなど含まれているかもしれません。 参考にさせていただいたサイト http://littlewing.hatenablog.com/entry/2016/09/25/172541 座標系のことが丁寧に邦…

HololensでMediaCaptureを使ってカメラプレビューを取得する

HoloLensで入力画像を処理する前準備をしました。かたりぃなです。 今回やること 今回の記事でやることをざっと列挙します。 UWPでMediaCaptureを叩いてプレビューフレームを取得する OpenCVのMat形式で扱えるようにする とりあえず画像処理する です。 画像…

ARの原理実験

ARの原理について色々と調べてみました。 結論からいうと、ライブラリを2個組み合わせるだけでそれらしいことはできそうです。 この原理試験を簡単ではありますが試してみたいと思います。 世間ではOpenGVとかvuforiaとかAR向けのフレームワークが出てきて…

画像認識で機械学習が必要そうという結論に至るまでのメモ

考えを整理するための個人的なメモ的なものです。かたりぃなです。画像・動画・音声などから特定の「もの」を認識したいことって多々ありますよね。 少なくとも私の中ではしょっちゅうあります。さて、今回の記事は物体認識の問題色々調べた結果を自分の中で…

OpenCVで気になったモジュールを試してみた

自分のやりたいことをやってる時間というのは充実しているものだと、最近はそう感じます。かたりぃなです。 FileStorageモジュール XML/YAML形式でread/writeできる便利なモジュール。 ドキュメントはこちら。 OpenCV: cv::FileStorage Class Reference 今回…

androidアプリの開発環境を作り直してみた(androidstudio)

今度はandroidに手を出してみてます。かたりぃなです。 ずいぶんと前にいじってみたときはeclipseでコード書いて色々遊んでた気がします。今どうなってるのかと調べてみると、eclipse用のandroid開発アドオンのサポート終わったらしく、 今後はAndroidStudio…

何か新しいことに挑戦(visual studio2015, opencv3.0, VTK 等)

Windows10にアップグレードしてみると想像以上にまともになってて驚きました。かたりぃなです。 MetroUIは残念なコだったけど、Windows10になって以前は全画面で展開されてたMetroがスタートメニューの右にちょろっとくっついてくるだけでした。やっぱ全画面…

Nvidia Jetson TK1のセットアップ

やっと届いたNvidiaのJetson。 思っていた以上におかしなところで詰まったので、メモ。 一番困ったのはパソコンモニタにHDMIの口が無いってことだったんですけどね。。。 クイックスタートガイド(本家) http://developer.download.nvidia.com/embedded/jetso…

OpenCVでクロマキー

クロマキーとは 3Dになる以前のゲームなんかでよく使われていた、抜け色転送の機能を使ってみた。映像用語ではクロマキーとかなんとか。 たとえば、お天気キャスターが青色のスクリーン前で演技して天気図を重ね合わせるアレですね。 コード Mat src; if( …

opencvでカードの傾きを検出する

前回のエントリまでで、カードの輪郭抽出までできたので、今回はその輪郭をもとにカードの傾きを求めることにする。 カードの傾きを求めることができれば、そのカードの上にARでモデルを表示するとき、カードの姿勢に追従することができる。 カードの傾きと…

C++でOpenCv

Opencvで輪郭抽出、実験としてJavaでやっていたけど、今回はC++でやってみることにした。やっぱり慣れてる言語っていいね。 2014/06/04追記:コード部分の体裁を修正 char* filename = argc == 2 ? argv[1] : (char*)"ajani.jpg"; if( (src = imread(filenam…

OpenCVでアルファブレンディング

OpenCVで画像同士を重ね合わせるとき、アルファブレンディングができたら演出の幅が広がりそうということで試してみた。 まずは実験ということで、文字を記述した画像を作っておいて、これを本来の画像にオーバーレイ表示する手法を取ることにした。 とりあ…

OpenCVで画像のリサイズ色々

OpenCVで画像をリサイズする方法メモ。 画像全体をリサイズ resize(src, dst, cv::Rect(320, 240), dst_size, 0, 0, INTER_LINEAR);imwrite("scale.jpg", dst); とりあえずこれで320x240にリサイズできる。ただ、アスペクト比が維持されない。(たとえば512x5…

Rで時系列のデータ分析

前回のエントリで書いたRでの動画の解析。 いい感じになってきたのでメモかねてかきかき。 Rでの三次元グラフの描画方法 scatterplot3dで3Dグラフの描画ができる。 画像に出力するためのコードはこんな感じ jpeg("output.jpg") scatterplot3d(histdata) de…

OpenCVの解析結果をRで分析する

動画サイトに色々と動画あがってるけども、再生してみないとどんな動画かわかんない。 そこで、自動でやりたい。 1, クローラで巡回して 2, OpenCvあたりでよさげな手法で解析して 3, 分析した結果をRで解析して 4, 一枚の静止画見るだけで、動画の内容がど…

Opencvでデバッグ用テキスト表示

久しぶりの更新。今日はデバッグネタ。OpenCVでデバッグするとき、画面に描画してしまったほうが結果が手早く確認できて便利なことが多い。というわけでメモ。こんだけ。Core.putText(img, DbgStr, new Point(32, 32), Core.FONT_HERSHEY_SIMPLEX, 0.6f, fon…

Opencvでカードの輪郭抽出

OpenCvでごにょごにょやろうとしていたら、色々とハマってしまったので、備忘録をかねたメモ。とは言いつつも、何やってるコードなのか思い出せない部分も多くて困ったちゃん。 前回のエントリで書いた輪郭抽出のアルゴリズムをコードにおとしていくとこんな…

カメラ撮影した図形(カード)の認識方法について考える

今月から新しい職場で働いていますが、少しずつ慣れてきました。会社の往復の時間を有効に使いたいと思ってノートPC買いました。高確率で座席に座れるのでコードごりごり書いてます。さて、カードを認識したいというお題。いくつか方法がありそうだけども、…

OpenCVで背景除去(その1)

画像処理の基本として背景除去に手を出してみる。まだ初歩なので実運用には程遠いものだと思う。 1、フレーム差分を求める フレーム差分を求める。これは動きのあった箇所が抽出されることになる。ただ、カメラではどうしても手ぶれがあるので、実行してみ…

前回OpenCVのインストールまで完了したので、Android端末がOpenCVの処理に耐えられるか、重すぎないかなどをみるために、サンプルプログラムを動かしてみる。あまりに重すぎたり、ターゲットデバイスが対応していないなどの問題がないかを見ていく。 【環境…

ブログの第一弾のネタとして、ずっと気になっていたけど手を出す暇がなかったOpenCVを動かしてみる。OpenCVは画像処理の機能がたくさん入ったライブラリ。Wikipedia見ると何やら難しそうな学術用語がたくさん並んでいるけど、このあたりの難しそうな技術を組…