Mugichoko's blog

Mugichoko’s blog

しがない研究者のプログラミングを中心としたメモ書き.

Anacondaのセットアップ(CondaHTTPErrorに遭遇)

Anacondaに不具合が出てしまって,根本的な原因が解決できないので,いっそのことと思い再インストールすることにした.その際に遭遇した問題についての覚書です.尚,Windows 10を対象としています.

続きを読む

vcpkgを使ってOpenCVをインストールする

普段はソースコードからCMakeを使ってOpenCVライブラリをビルドするのですが,今まで使ったことがなかったvcpkgパッケージマネージャを使ってみようと思い実践しました.

github.com

vcpkgとは

vcpkgはMicrosoftが提供するC++用ライブラリのパッケージマネージャです.これを用いる主な利点としては,普通,手動で設定するライブラリへのリンクを自動で行ってくれるというところ.バイバイCMake!!

つまり,vcpkgでOpenCVをインストールしたとすると,あとは,#include <opencv2/opencv.hpp>とコード内で書くだけで,勝手にリンクの設定をしてくれる.

vcpkgをインストールするには,GitHubのVcpkgリポジトリから自分のPCのOSに合ったものをダウンロードし,任意のフォルダに解凍しておくだけ.

vcpkgをインストールするには,公式にある以下のコマンドを打つだけ.

> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat

手順

  1. コマンドプロンプトを起動
  2. 上記のようにcloneしたフォルダへ移動
    • 例:C:/vcpkg
  3. vcpkg install opencv4[cuda,world,openmp]:x64-windowsを実行
    • [ ]内はオプションなのでなくてもよい
    • デフォルトでは,最新のVisual Studio用のライブラリがビルドされる
    • 今回,4時間弱かかりました...
  4. vcpkg integrate install

単純ですが,以上です.Visual Studioを開きC++コード内に#include <opencv2/opencv.hpp>と書くだけで,OpenCVが使えました!

JSONを使ってみる

プログラミングの際,パラメータをファイル入力にしておくことで,コードの変更なくパラメータ調整ができるというのは当たり前の話ですが,面倒だからと後回しにしてハードコーディングしてしまっている学生をたびたび見かけます.程度の差こそあれ,大体の理由は実装が面倒だから.

かく言う私も,Cross-Platform-Dense-SLAMの実装でもやっているようにstd::ifstreamを使って1行ずつ読んでいくようなことをやってしまっています.今回はこのあたりをきちんと実装している人からのお勧めに基づいて,JSON (JavaScript Object Notation)を使ってみることにしました.

  • JSON用ライブラリ
  • テスト用JSONファイルとC++コード
続きを読む