のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

Octaveのインストール

皆さんこんにちは お元気ですか。私は元気です。海外の研究者の人がよくMatlabで書いてあるソースコードがあるのですが、 Matlab自体がものすごく高くて、実行すらできません。しかし、大体同じようなコードで動くものが有ります。GNU Octaveです。 GNU Octa…

C++の演算子オーバーロード

C++

皆さんこんにちは お元気ですか。私は元気です。 生活習慣が崩壊していることは多々多く、そろそろ戻したいと思うけど、更に加速する気がする今日は演算子のオーバーロードについて 個人的にはあまり使ったことがないので、さくっと勉強してみました。自分で…

Particle FilterでOpencvを使った物体追跡

皆さんこんにちは お元気ですか。私は元気です。さて、今日はOpencvを使ってParticle Filterで遊ぼうと思います。 すみません、遅くなりました。忙しくてなかなかこれを勉強する時間がなかったのですが なんとか実装できました。因みにParticle Filterは自作…

Scikit-Imageのインストールと画像表示

皆さんこんにちは お元気ですか。私は修論という壁に殺されそうでございます。最近は画像日和なので、今日はScikit-Imageを使ってみましょう。 Scikit-Imageとは 画像処理に関するアルゴリズムを集めたライブラリです。 無料で扱うことができて、ボランティ…

Pythonで並列分散処理(multiprocess)

皆さんこんにちは お元気ですか。私は元気です。さて、今日はPythonで並列分散処理を行ってみましょう 今回使うライブラリはmultiprocessです。まずは、引数を与えて出力をしてみましょう。 最も単純な例 #coding:utf-8 import multiprocessing import os de…

Ubuntuで外付けハードディスクを認識するには

皆さんこんにちは お元気ですか。私は年末に向かって干物になりそうです。論文的な意味で計算用のマシンではUbuntuを利用することが心なしか多いのですが、外付けハードディスクを認識するのに手間取ったので、メモ代わりに記載しようかなと思います。まずは…

画像処理 Integral Image(積分画像)

皆さんこんにちは お元気ですか。私は元気です。今日は画像処理で使われるアルゴリズムIntegral Imageをご紹介します。 微分画像と異なって、イメージ図を出すことはできません。 Integral Imageとは? 説明するより見せて説明するのが楽です。 ・通常の画像…

Vagrant(ベイグラント)のインストール

皆さんこんにちは お元気ですか。私は元気です。今日はVargantと呼ばれるソフトをインストールしてみました。 Vargantとは? 仮想環境を構築するソフトウェアです。 実際の開発で人によって環境が異なると、本番環境で動かないことが有ります。 そんな時に仮…

Mac10.9 Marvericksでgccを使う

皆さんこんにちは お元気ですか。私は元気です。さて、今日はMacでgccを使う設定をしてみましょう。え?それって既にあるんじゃないの?と思う方。シェルでgccと打ってみましょう。 特に設定をしていなければ、以下のようなメッセージが出現するはずです。 $…

Opencvの使い方(7) 物体追跡

皆さんこんにちは お元気ですか。私は元気です。さて、今日は物体追跡をどうやるのかを調べてました 人物追跡はもう少し後かな。全然やったことがないので、さっぱりな分野でしたので、サンプルを探せば、なんと公式サンプルが落ちておりました。本日はサン…

Pylearn2のインストール(OS:Mac10.9 Marvericks)

皆さんこんにちは お元気ですか。私は元気です。今日はPythonを使ってDeepLearningを動かすpylearn2をインストールしてみました。なかなか手こずりました 事前準備 さて、事前にインストールしなければいけないソフトウェアが5つあります。 PIL PyYAML IPyth…

OpenCVの使い方(6) エッジ検出の手法

皆さんこんにちは お元気ですか。私は元気です。今日はOpenCVでエッジ検出をやってみたよ。 OpenCVで用意されている関数では3つあります。SobelとLaplacianとCannyです。 #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> using namespace std; using namespace cv; int main</opencv2/highgui/highgui.hpp></opencv2/opencv.hpp></iostream>…

OpenCVの使い方(5) Matの使い方

皆さんこんにちは お元気ですか。私は元気です。OpenCVにはMat型やRectが使われています。 なんか遅い気がしますが、それらの扱い方を見ていきたいと思います。 因みに今回は画像は扱いません、悪しからず。 (人物追跡についてはアルゴリズムを調査中) Sam…

PythonのTupleに代入ができないことを初めて知ったこの秋

皆さんこんにちは お元気ですか。私は筋肉痛です。PythonのTupleについてのお話 Opencvだと色をTuple形式で記載したりしますが(255,20,0)みたいな形式で計算でもして後で代入しようと思ったらエラーが出ました。tupleってこんなのです (1,2,3) 因みにエラ…

Pythonで使うrangeとxrangeについて

皆さんこんにちは お元気ですか。私は元気です。さて、今日はrangeとxrangeについて見てみましょう。 さて、Pythonを使う人であれば、この2つよく使いますよね Pythonでよく見るコードはこちらです。 for i in xrange(100): print i もちろんrangeで書く人…

C++11 例題でわかるlambda

C++

皆さんこんにちは お元気ですか。私は元気です。さて、今日はlambda式についてやろうと思います。 C++11ではlambda式が導入されました。無名関数、ラムダ式、クロージャとも呼ばれたりしていますが、何やら便利なようなのです。さて、早速実行してみましょう…

C++ デストラクタが呼ばれるタイミング

C++

皆さんこんにちは お元気ですか。私は元気です。というか腹いてぇさて、今日はデストラクタが呼ばれるタイミングについて 知ってる人は当たり前ですが、変数にオブジェクトを突っ込んだものとnewしてポインタに入れたものでは挙動が異なります。言っているこ…

Pythonで演算をするときはnumpyを使いましょう

皆さんこんにちは お元気ですか。私はそこそこ元気です。さて、今日はnumpyをオススメしたいと思います。 皆さんリスト内の合計を求める時、どうしていますか? こんなコードを書いていないでしょうか・・・・・・? for i in xrange(N): sum += list[i] こ…

Python リスト追加についての速度比較(append,内包表記など)

皆さんこんにちは お元気ですか。私は元気です。 実は情報技術者試験が終わったんです。ひゃっほー …受かってそうにないのはまた別のお話さて、今日は便利なPythonのリストについての速度を比較してみましょう 皆さんこんなコードありませんか list = [] for…

Pythonでテストをしてみよう(unittest)

皆さんこんにちは お元気ですか。私は元気です。本日はunittestについて勉強してみましょう。 unittestとはPythonでのテストのライブラリです。JUnitとかCppUnitが親戚に当たりますね。Pythonでは標準についているので、昨日使ってみるとかなり便利でした。…

ユーザーを追加する時に困った。Ubuntu

皆さんこんにちは お元気ですか。私は元気です。 が、、、セキュリティスペシャリストの試験の勉強全くしていないどうしよう。さて、今日はユーザーを追加する時に少々困ったことがあったのでお伝えします。 何があったのかといいますと、ユーザーを追加した…

C++でMPIを使った並列処理(1)

C++

皆さんこんにちは お元気ですか。私は元気かもしれません。なんとなくMPIについてやりたいと思ったので調べてみた。 What is MPI MPIとはMessage Passing Interfaceの略で、並列コンピューティングを行う為の規格だそうな。要は複数のPCを使って計算を並列化…

【ネタ】話題のCodin Gameをやってみた

皆さんこんにちは お元気ですか。私は元気です。さて、今日は少し巷で話題になっている「Codin Game」に挑戦してみたよ どんなゲームかって?そりゃプログラミングで敵を倒すというよりパズルをときます。http://www.codingame.com/games:enbedとりあえず、P…

C++でMeCabを使おう

C++

皆さんこんにちは お元気ですか。私は元気です。今日はC++でMeCabを使います。 MeCabのインストールはこちらをご確認くださいませ。 MeCabの使い方 一番オーソドックスな使い方を見てみましょう。 コンパイルコマンド 初めにコンパイルについてですが、 g++ …

【ネタ】艦これのパケットをWireSharkを使って覗いてみた。

皆さんこんにちは お元気ですか。私は元気です。さて、今日はパケットを覗いてみました。 題材 今回の題材はこちらです。アニメ化をも決まっているブラウザーゲーム「艦隊これくしょん」略して「艦これ」です。 「艦隊これくしょん〜艦これ〜」 DMMオンライ…

最小公倍数と最大公約数

皆さんこんにちは お元気ですか。私は元気です。さて、今日は数学でも割りと使われる最小公倍数と最大公約数 のプログラムを組んでみました。 プログラムについて 説明 最小公倍数の求め方は2つのナンバーの最大公約数を求めて割ることだけです。 加えて、…

Casablancaのインストール

C++

皆さんこんにちは お元気ですか。私は燃え尽きました。今日はCasablancaのインストール記事を記載します。 Casablancaとは マイクロソフトのC++ REST SDKで、クラウドベースのクライアント・サーバーの APIデザインだそうな。C&#43;&#43; REST SDK &#40;code…

アニメの顔写真をBag of Keywordsで分類してみた

皆さんこんにちは お元気ですか。私は眠いです。書いている時間が深夜なんて言えない。さて、今日はアニメの顔写真を分類してみます。 画像認識の分野において結構メジャーな手法であるBag of Keywordsを使います。 Bag of Keywordsの概要 Bag of keypoints,…

C++11 コンテナの初期化

C++

皆さんこんにちは お元気ですか。なんか眠い。さて、今日はC++11の初期化について今までC++のコンテナの初期化は面倒なものです。 一つ一つ代入しなければいけなかったということです。しかし、C++11になり、以下のような 初期化を可能としました。 #include <iostream></iostream>…

C++ 速度比較(8) inline展開ってどの程度影響あるの?

皆さんこんにちは お元気ですか。私は2日酔いです。今日はinline展開について見て行きたいと思います。 何気にコンパイラによる最適化によってお世話になっていたりもするこの展開ですが何をしているのでしょうか。 そもそもinline展開とは 関数をその場で…