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

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

2014-01-01から1年間の記事一覧

プリントマジックで年賀状を作成する

皆さんこんにちは お元気ですか。私は元気です。もう少しでお正月ですね。その前に年賀状を書くというぶっちゃけあまり好きでない行事があるのですが・・・・。 実を言うとMacで年賀状作ったことなかったんです。院生になる前はWindows万歳だったので筆王と…

Cythonを使って、Pythonを高速化してみよう②:型をつけてみる。

皆さんこんにちは お元気ですか。私は元気です。Cythonについてもう少しやってみます。Cython公式の素数の一覧を出力するサンプルを少し変更してみました。 こちらをCythonを使って高速化してみましょう。 def primes(kmax): result = [] k = 0 n = 2 p = [0…

バブルソートをC++で書いてみた

C++

皆さんこんにちは お元気ですか。私は元気です。たまには普通のソーティングアルゴリズムでも書こうかと思います。 んで第一段として本日はバブルソートについて というか第一弾として疾走するネタ増えてないか・・?隣同士を比較して、番号が低いほうが大き…

Cythonを使って、Pythonを高速化してみよう①:インストール

皆さんこんにちは お元気ですか。私は元気です。最近、このブログの色がPythonに傾きつつあるようなないような。 今日はCythonをご紹介したいと思います。 Cythonとは? C言語によるPythonの拡張モジュールの作成の労力を軽減することを目的として開発された…

Image Magickのインストール

皆さんこんにちは お元気ですか。私は元気です。皆さんバッチで画像をモノクロにしたいとか、或いはサイズを変更したいなど、 画像に処理をかけたいと思ったことはありませんか?そんな時に使うのがImage Magickです。 Image Magick Wikipediaには画像を操作…

PythonでPickleを使ったデータ保存

皆さんこんにちは お元気ですか。私は元気です。今日はPickleを使ってみます。Pickleを使うとデータを文字でファイルに保存することができます。 これをすると、どうなるかって? 例えば途中の計算結果を自分のクラスごと保存することができるといったことが…

PyPyのインストール

皆さんこんにちは お元気ですか。TOEIC終わって疲れた。本日はPyPyについて What is PyPy(パイパイ) Pythonの実装の一つでございます・JIT コンパイラで動く為、高速。CPythonの代わりを目指したんだとかなんとか ・RPythonで書かれているとか(Wikipedia…

FrickrのAPIで画像を探してダウンロードする

皆さんこんにちは お元気ですか。私は元気です。今日はFrickrのAPIの画像検索を紹介したいと思います。 Frickrのデータ取得方法 準備するもの API Keyの獲得が必要です。 そのためには、Yahoo!への登録とAPIKeyの取得の申請が必要です。 コードをかくにあた…

Python リファクタリングに使えるCloneDigger

皆さんこんにちは お元気ですか。私は元気なのか・・・? TOEICのリベンジを果たす時が来るのだろうか。さてと、今日はリファクタリングに使えるソフトであるCloneDiggerを紹介したいと思います。 一言でいうと、ソフトウェアのクローンコードを検出=類似コ…

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

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