理科系の備忘録

Linux/Ubuntu/Mac/Emacs/Computer vision/Robotics

skimageでランダムフォレスト

import pandas as pd import numpy as np import csv as csv from sklearn.ensemble import RandomForestClassifier #訓練データの読み込み train_df = pd.read_csv("train.csv", header=0) train_df.head(3) PassengerId Survived Pclass Name Sex Age SibS…

セルオートマトンによる渋滞シミュレーション

はじめに 年末年始に渋滞学という本を読んだ。 車の渋滞だけではなく、緊急時の避難や蟻の行列、通信についても書かれていて勉強になった。渋滞学 (新潮選書)作者: 西成活裕出版社/メーカー: 新潮社発売日: 2006/09/21メディア: 単行本購入: 8人 クリック: 1…

シェルスクリプトで可変長データを読み取る

はじめに こんなデータに出くわした。data.txtとする。 1, hoge, foo, bar, piyo, [ID: 1; a; b; c; d;ID: 2; a; b; c; d;ID: 3; a; b; c; d;ID: 4; a; b; c; d;ID: 5; a; b; c; d;] 2, hoge, foo, bar, piyo, [ID: 1; a; b; c; d;] 3, hoge, foo, bar, piyo…

Git bashでSolarized Color

Solarizedのdarkが大好き。 Solarized - Ethan Schoonover 自分が使うPCのターミナル(とEmacs)をすべてsolarized darkにすることで環境の差を小さくし、 会社にいながら家にいるような気持ちでリラックスしてPCに向き合える。*1WindowsのPCにはGit bash(mi…

jediによるpythonコード補完 with Emacs on Windows

背景 年始なのでEmacsの設定を見直すことにした。大学時代に作った環境をずっと使っていたが、あれからpackage.elによるパッケージ管理が主流となり、自分の環境が時代遅れのものとなっていた。(auto-completeよりはcompany-modeがいいとか)pythonのコーデ…

線分と平面の交点を求める

線分の両端点(a, b)と平面の法線ベクトル(nv)と平面上の任意の点(p)から、線分と平面の交点を求めるC++のプログラム。線分abと平面の交点が線分abを内分する点となることから交点の座標を計算する。 #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include <string> using namespac</string></opencv2/highgui/highgui.hpp></opencv2/opencv.hpp></iostream>…

LabelingクラスをOpenCVで利用

学生時代にも一度お世話になったラベリングクラスhttp://imura-lab.org/products/labeling/を久々に使いました。 OpenCVで使える関数を作ったのでメモ。2値化が大津の手法なので、琵琶湖の画像にしてみました。 素敵な写真はこちらから使わせていただきまし…

RANSACで多項式推定

RANdom SAmple Consensus:RANSACは、外乱を含む観測値から数学的モデルのパラメタを推定する手法のひとつである。インターネットで調べれば文献が出てくるが、サンプルプログラムを調べてみるとOpenCVのHomography行列の推定か直線の推定がおおいので、多項…

Amazon DriveでMacの写真のバックアップ

はじめに 自分はMacの「写真app」を使って写真を管理し、これをiPhoneと同期させて出先で見たり見せたりしている。 そろそろクラウド上にバックアップを取ろうと思い、Amazon Driveを使うことにした。 Amazon Drive Amazon Driveとは、Amazonが運営するクラ…

視差画像とV-disparity

背景 ステレオ視差画像から平面を抽出する一つの手法として、視差画像をV-disparity画像に変換するというものがある。 今回は視差画像からV-disparity画像への変換の練習をしてみる。 結果 試みに視差画像のy方向にノイズを加えてみた。その結果がV-disparit…

sdfファイルをrviz上のRobotDescriptionで表示する(後半)

実行環境 Ubuntu14.04 Gazebo 2.2.3 sdf 1.4 ROS indigo (そろそろGazebo7に戻りたい…) 背景 前半編でsdfからurdfを生成してrobot_descriptionに登録する方法を学んだ。 今回は、collada(daeファイル)をrvizで見られるか確認ついでに、sdfからurdfを変換す…

sdfファイルをrviz上のRobotDescriptionで表示する(前半)

実行環境 Ubuntu14.04 Gazebo 2.2.3 sdf 1.4 ROS indigo 背景 sdfを使ってモデルを作ったのにrvizのRobotDescriptionがurdfしか対応してないと知ってショックを受けた。 調べてみると、pysdfというROSのパッケージを使ってsdf to urdfの変換ができるようだ。…

Ubuntu14.04でeth0が見つからない

新しく手に入れたThinkPad x260にUbuntu14.04 LTSをインストールしたが、有線も無線もつながらない。Ethernetケーブルを挿してifconfigしてみると、普段現れるはずのeth0が見当たらず、loだけが表示されている。 ~$ lspci | grep Ether 00:1f.6 Ethernet con…

ATAM install on Ubuntu 14.04 LTS

基本的には公式[1]の通り。ただし、windowsでのインストールのみなので、メモを残す。まずOpenCV3.0を入れる。ROSと一緒に入ったOpenCVが2.4だったので、ソースを落としてきてcmakeした。 ググったらインストール方法はでてくる[2]が、non-freeをコンパイル…

ardrone simulatorでPTAM

環境: VM fusion 7 Ubuntu 14.04 LTS ROS IndigoROSのインストールについては公式参照。ardrone関係については、基本的にはここをみてインストールした。 http://wiki.ros.org/tum_ardronecatkinなので(?)、cloneしてきてcatkin_wsでcatkin_makeを繰り返…

ROS indigo, OSX 10.10.5

ROS indigoを[1]を参考にmac(OSX 10.10.5)にインストールしたのでメモ。 $ brew config HOMEBREW_VERSION: 0.9.5 ORIGIN: https://github.com/Homebrew/homebrew HEAD: 0f37e2943bba265b42bb2087ea24b86dcc614c35 Last commit: 4 hours ago HOMEBREW_PREFIX:…

awkでユーザ定義関数

awkには絶対値を返すabs()関数がないようだ。 ユーザ定義関数は以下のようにして定義可能。 seq 1 10 | awk '{print abs(-$1)} function abs(x){return (x>0)? x:-x}

Emacsで改行を置換

1 2 3 4 5を 1 2 3 4 5にしたい.EmacsのM-x replace-stringでC-q C-jとすれば^Jが入力され,改行を置換できる.

macportsをプロキシ経由で

Mac

プロキシ経由でmacportsのselfupdateができない場合は sudo env RSYNC_PROXY=proxy.hoge:8080 port selfupdateのようにしてRSYC_PROXYを設定すればOK. 普通に環境変数を設定すると,その値をsudoでの実行時に引き継げるような設定をsudoersに記述する必要が…

利尻島

黒部・立山

琵琶湖

tex tips

図表のキャプションの上下の空白は \begin{center} \end{center}の効果.無理やり無くしたい場合は,上記を消して \centeringを使えばよい.

Perlの2次元配列メモ

Perlで二次元配列を動的に生成する場合を考える. for( $i=0; $i<200; $i++){ for ($j=0; $j<@data1; $j++) { $data2[$i][$j] = $data1[$j]; } } このように書くだけで,動的に二次元配列とすることができる.ここで $j<@data1 は,@data1の要素数だけループ…

XのYメモ

Y of X X's Y X Y Y of XをX Yとしていい場合は,ofの用法のひとつである「成り立ち」が素材のことであれば, boots of Spanish leather Spanish leather bootsのようにできる.一方,「成り立ち」が構成要素のことであれば, a pair of gloves gloves a pai…

マーク・ピーターセン著「日本人の英語」よりoverとaround

日本人の英語 (岩波新書)作者: マーク・ピーターセン出版社/メーカー: 岩波書店発売日: 1988/04/20メディア: 新書購入: 135人 クリック: 2,138回この商品を含むブログ (314件) を見るマーク・ピーターセン著「日本人の英語」を読んでいる.この本は,日本人…

stdout: Broken pipe

gnuplot> plot "<cat vec.dat | head -23" using 3 with linevec.datは30万行を超えるデータである.catの結果をパイプでheadに渡すと cat: stdout: Broken pipeなどと仰った.パイプが壊れたようだ.これはcatの結果が30万行と膨大で,その結果が終わるまでにheadを読み込んでいるためと思われる.そもそもcatの後にhaedをする必要は無い.正しくは gnuplot> plot "</cat>

gnuplotでplot for

gnuplotでは,複数個のグラフをfor文を用いてplotすることができる.例えば,手元に連番ファイル「00.dat, 01.dat, ... , 09.dat」があったとする.for文を使わない場合は plot "00.dat" u 1:2 with lp title "data 00" replot "00.dat" u 1:2 with lp title…

シェルで行列を転置

以下の様なデータ(data.txt)をシェルで転置する. 0 615276 615276 615276 615276 615276 615276 615276 615276 0.1 580455 587213 587232 589734 590158 591019 592493 596381 0.2 500342 522058 521903 530142 531954 534774 539629 552938 0.3 426424 458…

連番のファイル名を変換する

連番画像のファイル名を一気に変えるコマンド. lsで表示したものに番号を振り,それを入力としてawkでコマンドを形成,shで実行する. ls *ppm | cat -n | awk '{printf "cp %s img_%04d.ppm\n", $2, $1}' | shshをevalにすると上手くいかない. (shだと毎…

UNIXコマンドメモ

http://unicus.jp/skmk/archives/315

UNIXコマンドメモ

ls ./c_img/ | grep _c_| sed 's,img,c_img/img,g' | xargs ./main左から順に c_img下にあるファイルを表示 _c_がつくものを表示 ファイルの先頭にc_img/を付加 これらを./mainの引数に渡す

統計的手法

最小二乗法 n個の観測値の組が与えられているとき,2つの変量間の関係を説明するモデルとして を考える.ここで,はモデルのパラメータである.平均2乗誤差(Least Mean Squared Error)を最小とするようなパラメータを求める推定方法は,最小2乗法と呼ばれて…

convertで一括変換

for f in *.png; do convert -trim $f `echo $f | sed s/png/eps/g` ; doneabc.pngをabc.epsに変換するコマンド.

シンボリック変数

matlabを用いて,解析的に積分をする上で必要となったのでメモ.シンボリック変数を用いて数式を定義しておけば,matlabを使って解析的な処理が可能となる.(曖昧) まず,xの関数yを定義するために,以下のコマンドを入力. syms x y y = sin(x)^2例として…

積分結果が初等関数で表せない積分

定積分 を計算しようとして詰まった.解析的に定積分を行うのは久々である. "expの微分は,指数部分の微分が係数になる"という記憶しかない.ここで,すべての数式が初等関数で表現できるとは限らないということを思い出す.定積分は存在するが,初等関数で…

matlabでplotするときに次元を縮退させる話

hoge <300x300x256>というデータの3列目のグラフの概形が見たい. 前2つの最初の成分に対する3列目の値を二次元プロットする. plot( hoge(1, 1, : ) ) Error using plot Data may not have more than 2 dimensions次元数が多いのでダメらしい.納得がいかな…

matlabエラーメッセージの怪

エラーメッセージに騙されて格闘した30分間に記録. 正規分布をつくるために,横軸0から255を256段階で用意し,標準偏差を適当にきめ,平均をグレースケールの画像上のある画素の輝度値から決めた. normpdfは正規分布(matlab的には正規確率密度関数)を返…

matlabでの画像の取り扱い

matlabを使って画像処理をするために,まずは簡単な画像の入出力について学習した. 画像の読み込み src_img = imread('filename.png'); 画像の表示 image(src_img) axis image単純に表示するだけならimage()だけで良い. アスペクト比を元の画像と等しくす…

matlabのsparse行列

そもそもsparse行列の意味をよく理解していなかった.Wikipediaで調べたところ以下の様な解答を得た. 疎行列(そぎょうれつ)とは,成分のほとんどが零である行列のことをいう。スパース行列とも言う。ほとんどってなんだろう.過半数?matlabではsparse関…

理系の就職活動

2014卒の学生として就職活動を開始している.小手先のテクニックのような就活情報(例えば建物入り口の前でコートを脱ぐ)は糞食らえなんだが,知っておかないと企業も学生も損をするというような情報については結構興味がある.そもそも就活ってどんなもの…

Emacs Lispプログラミング

Emacsの関数を作る練習 (defun is-buffer (buffer) "practice of elisp" (interactive "BAppend to buffer:") (if (get-buffer buffer) (message "Exist") (message "Does not Exist") ) ) 引数に指定するバッファが存在するかどうかを判定する関数である. …

Emacs org-modeで快適タスク管理 入門

# 追記2017/1/24 # # 前回の更新(2012)から時間が経過したので、記事の内容を一部変更しました。 What's org-mode Org-modeは、ノートの保存,TODOリストの管理、プロジェクト計画のためのモードです。 高速で効率的なプレーンテキストのシステムを使ってフ…

四国旅行

念願の四国へ行ってきた. 幕末好きとして,坂本龍馬が生まれた国へ行かないわけにはいかない. 桂浜 桂浜の近くには、1591年(天正19年)長宗我部元親が北側の丘陵部に浦戸城を築き、 一時この地が岡豊城に代わって土佐の中心地になった時期もあった。 しか…

grepで,カレントディレクトリ以下で特定の文字が含まれるファイルを列挙

grep -Er --binary-files=without-match --exclude=Capfile 'runRANSAC' .

git

gitのことはここを見ればいいよ. http://r7kamura.hatenablog.com/entry/20110215/1297771813

WindowsでOpenCV2.20のcvCaptureFromAVIにバグ

タイトルの通りである.回避方法がわからなかったのでOpenCV2.30に乗換え.

後期開始

後期が始まった. 「今期こそは真面目に授業を聴いて楽に単位を取る」 大学に入ってから5年連続9回目という恒例の宣言をしておく.つまり1回生の後期から続く口先だけの宣言である.今年の年末には就職活動もはじまる.8月末に経験した海外インターンシップ…

JINS PC買いましたので感想

イオンモールをぶらぶらしてると,噂のJINS PCが売られているのを発見した. 3,990円〜というリーズナブルな価格だったのでお手軽に入手することができた. 一日中モニタを見続ける生活をしているせいか,眼底に鈍痛を感じることもしばしば. 夕方くらいから…

大学時代しなければならない50のこと

大学時代しなければならない50のこと (PHP文庫)作者: 中谷彰宏出版社/メーカー: PHP研究所発売日: 2000/12メディア: 文庫購入: 12人 クリック: 333回この商品を含むブログ (47件) を見る"大学時代しなければならない50のこと"というものが本棚から出てきた.…