Mugichoko's blog

Mugichoko’s blog

プログラミングを中心としたメモ書き.

std::coutで出力を上書きする

例えば,ループ処理中に現状の誤差や進行度合いをパーセント表示させたい時がある.これを単純に'''std::cout'''を使って逐次表示させるとコマンドプロンプトに出力が溜まっていき,過去の出力が遥か上方へ追いやられてしまう.こうする代わりに,毎回,表示…

ImGui + Native File Dialog

前回はImGui + GLFW + GLEWを使ってGLFWのウィンドウ内にImGuiのウィジェットを表示させる公式のサンプルを動かしました.今回は,自分のコードにImGuiを導入するとともに,ImGuiには欠けているダイアログ機能を追加します. mugichoko.hatenablog.com 前回…

ImGuiを使ってみる

OpenGLでのGUI開発用ライブラリImGuiを使ってみる.正式にはDear ImGui (Immediate Mode Graphical User Interface) と呼ぶとのこと.今回は,ImGuiの”Im”たる所以を調べ,サンプルをビルドして実行することが目標です. なぜImGui? Im (Immediate Mode)? …

洋書の翻訳を経験した

はじめに 翻訳し始める前に決めたいこと 訳者の選定と情報共有 編集者 報酬 出版社関係 翻訳のスタンス 翻訳の進め方 最後に 留学先が決まった頃だったでしょうか,知り合いの先生から,ある書籍を一緒に翻訳しませんか?とお誘い頂きました.蓋を開けてみる…

1年で5回オーストリアで引越しした話

グラーツという街 1回目(ゲストハウスへ入居) 2回目(ゲストハウス内で引越し) 3回目(街中へ引越し) 4回目(街外れへ引越し) 5回目(街中と街外れの間に引越し) 留学先のオーストリアのグラーツに住み始めてからの1年で,合計5回も引越した.特に悪い…

Google MapsをWebページに英語で埋め込む

経緯 やり方 概要 Google Cloud Platformにアクセスしてプロジェクトを作成 Maps Embed APIを設定 実際に埋め込んでみる 埋め込む地図の作り方 まずは普通に埋め込んでみる 英語に指定して埋め込んでみる 経緯 ちょっとしたお仕事で「Google MapsをWebページ…

Caffe 1.0 (GPU) on Windows 10

目標 経緯 開発環境 インストール方法 MNISTの例 実行方法 実行結果 目標 Caffe (GPU) をインストールして,サンプルプログラムを実行することで動作確認を行う.前回はGPUを積んでいないノートPCにインストールしたのでCaffe (CPU) をインストールしていた…

Jekyllを使ってみる

Webページ作成に疎い私が,とあることからJekyll(ジキル)を使うことになったため,色々と把握した内容をまとめた. 目標 Jekyllで何ができるのか 静的サイト Jekyllを使って簡単なWebサイトを作成 Windowsへのインストール Jekyllのインストール Bundlerの…

オーストリアのお家で快適WiFi生活

この記事の対象者 オーストリアでのWiFi事情 日本と変わらないWiFi環境 Box及び2年契約 安価な契約形態のSIM 購入物品と設定 価格等の詳細 購入前の点検項目 モバイルルータの設定 モバイルルータ経由のSMSの受け取り

オーストリアでのアパート退去時にトラブルにあった

起きたトラブル 概要 トラブル発生までを時系列で メールに傷心 送られて来た写真 とりあえず返信 だが,しかし 貸主の考えはおそらく... 1週間後 今回はたまたまである 教訓

スプライン曲線の生成から描画まで

3次スプライン曲線 (Cubic Spline Curve) main.cpp CubicSpline.h Catmull-Romスプライン曲線 (Catmull-Rom Spline Curve) main.cpp Catmull-RomSpline.h

線形最小二乗 まとめ

基本事項 直接解法 反復解法 単精度か倍精度か? 参考文献

Random Sample Consensus (RANSAC) のお勉強

基本事項 アルゴリズム PnP問題の例 アルゴリズム 実装例 (C++) RANSAC.h RANSAC.cpp Hash.h 参考文献 私が学生の頃にRANSACに関して頭の整理のためにまとめた資料です.実装も含んでいますが,あくまでも理解を深めるためです.OpenCVの実装を使う方が信頼…

Lucas-Kanade法のお勉強

3つの仮定 導出 まずは1次元で考える 2次元で考える アパーチャ問題 参考文献 私が学生の頃にLucas-Kanade法に関して頭の整理のためにまとめた資料です.実装して確認したわけではないので理解が間違っているかも... お気づきの方がおられたらコメントお願い…

OpenCV小技集

画像の一部切り出し 画素の参照 低速でも読みやすい 高速だけど読みにくい m×n行列をN行1列にする 非圧縮AVIで保存する 個人的に便利だと感じているOpenCVの小技集です.私が学生の頃にいた研究室で後輩に逐一教えるのが面倒だったのでまとめたものです.Ope…

MeshLabで点群を処理

目標 点群データの読み込み 移動・回転・拡大縮小 カメラの操作 データの操作 点群のメッシュ化 位置合わせ 所感 目標 MeshLabにおいて,RGB-Dカメラから得た点群データを処理する基本的な操作を身に着ける.

GitHubで研究プロジェクトページを作る

経緯 GitHubを用いる利点 所感 経緯 研究プロジェクトのWebサイトを立ち上げたいと思い,最初はGoogle Siteを使おうと思ったのですが,どうも自由度が低くて好きになれませんでした.そこで,GitHubを使おうということになったわけです.ちなみに,今回,以…

RGB-D SLAMを実装する #7

大域的目標 実行速度の向上 問題の確認 改善 実行結果 GitHubへの公開 参考文献 大域的目標 KellerらのRGB-D SLAM[1]が実装したい!と思い立ったので実装していく,というモチベーションの記録.ちょっとずつ実装している.今回が7回目. 前回(以下,参照)…

PixMix Inpainting

目標 PixMix Inpainting 論文 概要 コスト関数 伝播 ソースコード 目標 画像上の欠損領域を同一画像内の他の画素を用いて埋めるPixMix Inpaintingを実装する. PixMix Inpainting 論文 Jan Herling and Wolfgang Broll, "High-Quality Real-Time Video Inpai…

Caffeを通してCNNを理解する #3

大域的目標 今回の目標 0. LMDBの作成方法の模索 create_mnist.shを覗く create_mnist_data.cppを覗く 1. 自分で学習用データのLMDBを作成する データの準備 LMDBの作成 LMDBのインストール LMDB作成用Pythonスクリプト 2. 自作のLMDBを使って学習及び認識ま…

Fast Digital Image Inpainting

目標 Fast Digital Image Inpainting 概要 結果 ソースコード 所感 目標 画像上の欠損領域を同一画像内の他の画素を用いて埋めるImage Inpaintingを実装する. Fast Digital Image Inpainting 概要 とても簡単に実装できるImage Inpaintingの一つ.単に論文…

Caffeを通してCNNを理解する #2

大域的目標 今回の目標 自らprototxtを作成し,MNISTの学習を行う 1. prototxtの作成 train.prototxt solver.prototxt 2. 学習の実行 2.1 ファイルを構成 2.2 trainコマンドの実行 Deployment(学習した結果を用いて認識)を行う 1. deploy.prototxtの作成 2…

Caffeを通してCNNを理解する #1

目標と現状 大局的目標 今回の目標 現状 良質な教材 Caffeを使ったCNNによる手書き文字分類 更なる学習のために 英語教材 書籍 便利ツール Sublime Text 3 Netscope まとめ 目標と現状 大局的目標 機械学習に関しては全くの初心者なので分からないことだらけ…

はじめてのASUS Xtion2

目標 導入方法 遭遇したトラブル 結果 目標 ASUS Xtion2を動作させる.

Caffe 1.0 (CPU) on Windows 10

目標 経緯 開発環境 インストール方法 MNISTの例 実行方法 実行結果 目標 Deep Learningがやりたい!そこでCaffe(カフェ)をインストールして,サンプルプログラムを実行することで動作確認を行い,経験談をまとめた. 追記 この記事を基にしたGPU版のイン…

オーストリアでの在留許可申請(オーストリア実践編)

状況説明 必要書類 国内で取得可能な書類 オーストリアで用意した書類 申請場所 地図 施設内での大体の手順 申請手続き記録 ファースト・トライアル(2017年9月26日) セカンド・トライアル前の事前準備 セカンド・トライアル(2017年10月22日) 状況説明 ビ…

MOVERIO + OpenGL ES 2.0 + ジャイロセンサ

目標 開発環境 サンプルプログラム OpenGLES20Activity MyGLSurfaceView MyGLRenderer MoverioGyro 結果 目標 MOVERIOのジャイロセンサから得られた回転のパラメータを使って回転行列を得て,OpenGL ESに与え,頭の回転に合わせて三角形のCGを描画する. Ope…

MOVERIO + OpenGL ES 2.0

目標 開発環境 本記事の役割り サンプルプログラム OpenGLES20Activity.java MyGLSurfaceView.java MyGLRenderer Triangle.java activity_main.xml 結果 目標 MOVERIOの画面にOpenGL ESで描いた三角形のCGを表示する.尚,前回記事は以下を参照のこと. mugi…

プロジェクション行列から内部パラメータを得る

今回の内容 経緯 内部パラメータを加味したプロジェクション行列の計算方法 プロジェクション行列から内部パラメータを計算する方法 今回の内容 内部パラメータを加味したプロジェクション行列の計算方法 そこから逆算して,プロジェクション行列から内部パ…

Android Studio + MOVERIO + OpenCV #2

目標 開発環境 実装 参考サイトとそこからの追加 OpenCVで画像処理するための流れ サンプルプログラム MainActivity.java CameraPreview.java ImageProcUtil.java AndroidManifest.xml activity_main.xml 結果 目標 前回の記事の最後に書いた通り,OpenCVのC…