catalinaの備忘録

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

C++

WinRTを試してみる

桜の花も散っていき、春から初夏への移り変わりを感じます。かたりぃなです。 今回は新年度ということで、新しいことを試してみようと思います。C++/WinRTです。 C++/winRTを使う理由 Hololens用のUnityのネイティブプラグインを書こうと色々調べていたら、C…

OpenCV4.0をソースコードからインストールする

想像以上に手間取りました。かたりぃなです。 OpenCVのバージョンだけなら大した問題ではなかったのですが、バージョンアップに追従してC++も新しいものにしていこうという動きがあるみたいです。 (実際OpenCV3の世代でCインターフェースはレガシーなものと…

AWSを試してみる

AWSを契約してVPCとか仮想サーバとか試してみました。かたりぃなです。 AWSのアカウント作成 登録はクレジットカードが必要になります。 ユーザー登録自体は無料なのですが、無料登録枠からはみ出して課金となった場合、この登録しているクレジットカードか…

C++のHTTPサーバ(boost::beast)を試す

C++

毎年恒例の夏バテの時期がやってきました。かたりぃなです。 今回はC++でhttpやってみたいと思います。 C++でhttpサーバ 今はC++単体でラクにHTTPサーバが実装できるようになりました。 使うライブラリはboost::beastです。 https://www.boost.org/doc/libs/…

CMakeを使ってmakefileを作る

C++

はじめに C/C++でプログラミングをしているとmakefileが必要になってきます。 VisualStudioみたいなIDE環境なら自動生成に任せてしまうのですが、Linux環境だとそういうものを使うこと自体が面倒だったりします。 小さなツール群を組み合わせて使っていった…

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

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

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

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

HoloLensでChainerの学習経過を覗いてみた

せっかくHoloLensがあるので機械学習の途中経過を覗いて遊んでみました。かたりぃなです。 学習中のデータの可視化する意義 機械学習についてですが、Chainerなどのフレームワークがどうやって学習を進めているかよくわかっていません。 具体的にはフレーム…

Hololensでカメラを扱う[c++/UWP]

HoloLensにはカメラが搭載されているので、どんなもんが載ってるか調べてみようと思います。かたりぃなです。 (2017/02/26更新) Hardware detailsのURLを追記。 HoloLensのカメラって? 公式サイト https://developer.microsoft.com/en-us/windows/holograph…

HololensでMMDモデルをレンダリングしてみる[c++/UWP]

3Dモデルが出せたのでモチベーション上がり始めています。かたりぃなです。 環境 * HoloLens * Visual Studio 2015 * DirectX11 * C++/cx * UWP とりあえずスクリーンショット やっぱりこうやって何かが出ると「アプリ作ってる」感でてきますね。 UWPでのDir…

Hololensで3Dモデルをレンダリングする[C++/UWP]

HoloLens実機で入出力回りをいじって色々と体感しようと試行錯誤です。かたりぃなです。 2017/02/06 追記:HoloLensからファイルピッカーを開くときの注意事項 この記事の意義 まずHoloLensを使ってプログラミングをしていく前にDirectXとC++/cxを使う意義に…

Hololensが届いた

やっとhololensが届いたので開封の儀式です。かたりぃなです。 開封 とりあえず開封した直後の写真です。この写真中央部の奥にマニュアルが入っていました。 どうせマニュアル全部英語だろと決めつけて冊子を半分読んだところで、残り半分が日本語マニュアル…

Windowsストアアプリを作ってみる

Windowsストアアプリを作ってみました。かたりぃなです。 HoloLensが目標ではあるのですが、Windowsストアアプリの作り方もわからないまま買うのはただのギャンブルなので、まずはかんたんなアプリを作ってみて、慣れてからHololens用に移る算段です。 アプ…

WindowsストアアプリでOpenCVを使う

Hololensが楽しそうなのでアプリ作れないか試行錯誤しています。かたりぃなです。 開発者向けの販売とはいえ購入には踏ん切りがつかないので、何かつくれるようになったら購入したいと思っています。 というわけでWindowsストアアプリ向けに画像処理のアプリ…

ChainerのモデルデータをOpenCVで使うための準備

できれば一通りの目論見が達成してから投稿したかったのですが、まとまった時間をとれそうにないのでいったん投稿です。かたりぃなです。 何をしたいの? ChainerなどのDeep-Learningフレームワークを使えば色々な学習モデルを構築できそうです。 次のステッ…

boost::streambufの内部構造の調査

以前書いたエントリのboost::asioの続き的なもの。 boost::streambufというものをを使うと、バッファの細かいことを意識せずにread/writeをできるので便利そうだと感じた。 ただ、コレって内部実装によって性能に大きな影響が出るんじゃないかな?という疑問…

OpenGLでパーティクル実験

ひとまず条件付きでできたので、アップロード。 mmdviewリポジトリのparticleブランチ コミットNo: 94b7ed9a81ab6d54c8f721a71db4b89ca6bf47b0 javoren/mmdview · GitHub 中心から放射状に広がるパーティクル 見ていて飽きない。特に背景真っ黒だから、加算…

openGLでMMDモデルを表示する

前回のエントリまででモデルしか表示できていなかったけども、今回はテクスチャに対応した。 あとは、しくみを変更して高速化した。 これでMMDを扱うための最低限の機能は実装できたはず。 とりあえずモデルを表示するという意味合いでは。 (このブログエン…

opeglでmmdモデルを表示してみる

linux上でやってみようということでやってみたらできた。まだテクスチャうまくはれてないですが。 とりあえずスクリーンショット。 モデルはこちらからお借りしました。 VPVP wiki - モデルデータ/アニメ関連/ま行 プログラムのソースコードはこちら。テクス…

WindowsストアアプリをC++で作る(前準備)

WindowsストアアプリでC++のライブラリ使いたいと思い、以下のリンク先に色々書いてあったので実験してみた。 MSDN Blogs 結果 とりあえず手順通りに実行したらできた。 手順とか考え方 自分の認識では、ソフトウェアレイヤーで考えると3層構造に相当する感…

OpenCVでクロマキー

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

c++のboostを試してみる(その2)

直前のエントリでそもそもgccのバージョンが残念だったわけだけども。 そもそも古いバージョンでも、古いサンプルコードなら通るのか?と思って実験。 http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples/cpp03_examples.html Makefileの内…

c++のboostを試してみる

さて、boostでサーバ書くのがすっごくスマートだという噂があるので適当なサンプルを動かしてみたい。 とりあえずboostのインストール。 $sudo yum boost-devel boost-devel x86_64 1.41.0-18.el6 base 5.3 M こいつが入ってくれればOK。 さて、動かしてみ…

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

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

OpenCVで画像のリサイズ色々

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

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

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