読者です 読者をやめる 読者になる 読者になる

理科系の備忘録

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

さくらのレンタルサーバでMySQL + php = Facebookアプリ.#0

はじめに Web開発は全くの素人の自分であるが,ふとFacebook上で動くアプリをphpで作りたくなった.今のところ 入力フォームから何かを入力 データベースからデータを呼び出す アプリ上にそれを提示 GoogleMapsAPIで地図も表示する ということを目標としてい…

bashの関数とか

忘れないうちにメモ. bashの関数作成 $ function plus() {echo $(($1 + $2));} $ plus 2 3 5functionの後に上記のように書くことで関数を定義できる. main関数の返り値 $ grep ll.dat < ll.dat || echo "not found." -rw-r--r-- 1 hogehoge staff 0 6 27 1…

awkとかsedとか

AWKはUNIX上で開発されたテキスト処理スクリプト言語である.sed,grepと並んで3種の神器なんて呼ばれていたこともあるそうです.今回はawkのGNU版であるgawkを使う. awkによる行・列の指定 -rw-r--r-- 1 hogehoge staff 21 6 27 14:55 #blog_draft# drwx--…

Ubuntu10.10のサポートが切れたのでapt-getできない件

Ubuntu10.10のサポートが切れ,apt-getでアプリケーションをインストールすることができなくなった.ということでAPTリポジトリの設定を変更することでインストールを可能にしたい.以前も書いた気がするが,apt-getの設定ファイルは/etc/apt/sources.list.d…

iPhotoを外付けHDDに移動させたらiMovieのプロジェクトの動画が参照されなくなった件

Mac

タイトルの通り,iPhotoを外付けHDDに移動させたらiMovieのプロジェクトの動画が参照されなくなった. 外付けに移動させた後,User/PictureにあったiPhoto Liblaryは消去した.それでは参照されなくて当たり前である.図のように△の上にカーソルを置くと,参…

ffmpegで連番画像を動画に変換,動画を連番画像に変換

ffmpegを使えば,連番画像から簡単に動画を作ることができる.逆に,動画から連番画像をつくることもできる. ffmpegはよく使っていたにもかかわらず,自分はこの事実を知らなかった.お陰で上記の変換をするプログラムをOpenCVで自作していた... ffmpeg -r …

IEEE1394 & OpenCV

IEEE1394とは、Appleが主導で開発した高速シリアルバスの名称であり、AppleではFireWireと呼んだりするそうだ(超適当).巷にはUSBで接続する製品が溢れているため、今まで1394でカメラを接続するなんてしたことがなかった。時代によって変化するが,以下の…

macにportでboostをインストール

MacbookAirにboostを入れて外でも作業が出来るようにした.web上で仕入れた情報をもとにして $sudo port -d selfupdate $sudo port install jam $sudo port install boostとしたところ,下2つが一瞬で終わってしまった. 時間が掛かると言われていたが,バイ…

Instagram

自分のInstagramのIDはすでに抹消されたのかと思っていたら,そうでもなかった. そこで久々にInstagramのフィルタの力を借りて画像を加工してみた. 適当に選ぶだけで,かなりそれっぽく加工できる. 天気の良い日曜日は,窓辺で作業をするとはかどります.

ImageMagickでmontage

映像を扱っていると,紙面上に結果を掲載するときにどうしても連番画像をタイル状に並べることが必要となる. このときImageMagickのmontageが非常に便利である. $ montage -tile 20x2 -resize 25% -geometry +2+2 -crop -3-3 -shadow img_0.png img_1.png.…

UNIXコマンド umout

取り出したいデバイスのあるディレクトリで sudo umount ./16GB_USBとすればアンマウントできる.もし何か別のプロセスがアクセスしていれば umount(/Volumes/16GB_USB): Resource busy -- try 'diskutil unmount'などとでる.プロセスを調べても良いし書い…

Macにtex環境

sudo port install pTeX +utf8 +motifとしてplatexをインストール. pTeX has the variants: euc: Set the default character encoding to EUC-JP * conflicts with sjis utf8 [+]motif: Use Motif to build xdvi * conflicts with nextaw no_x11 xaw xaw3d …

auto-complete-clang

auto-complete.elはEmacsで補完候補を提示してくれるパッケージである. バッファに登場している文字列を候補として出してくれるというものであるが,VisualStudioやEclipseのように関数の候補などを提示することはできない. ▲auto-completeによって候補が…

Ubuntuのメモ

Ubuntu10.10上にkvs(Kyoto Visualization System)をインスト―ルしようと思い,まず以下を入力. sudo apt-get install freeglut3-dev libglut3-devエラー http://jp.archive.ubuntu.com/ubuntu/ maverick-updates/main libkms1 i386 2.4.21-1ubuntu2.1 jp.ar…

KLT tracker

KLT trackingの実装を拾ってきてmake. gcc -O3 -DNDEBUG -o sample02 sample02.cpp -L. -lklt -L/usr/local/lib -L/usr/lib -lm `pkg-config --cflags opencv` `pkg-config --libs opencv`でコンパイルできる. -L ./ -lkltを書いてなくてこけた.klt/の中…

Mac備忘録

selfupdate macportsでselfupdateするとき,rsyncでERRORとなる場合,rsyncにプロキシの設定を書いてやる必要がある. RSYNC_PROXY=http://proxy.hoge.net:8080 port selfupdate opencv sudo port install opencvでOpenCVをインストールする. /opt/local/sh…

vectorのsort

#include <iostream> #include <vector> #include <algorithm> #include <functional> int main(){ std::vector<int> data; for(int i=0; i<5; i++) data.push_back(i); // 昇順 std::sort(data.begin(),data.end()); //std::sort(&data[0],&data[5]); // 降順 std::sort(data.begin(),data.end(),std::grea</int></functional></algorithm></vector></iostream>…

メモ

void func(char* name[256], ... ){ ... string name_str = "hoge"; *name = (char*)(name_str.c_str());// 無理やり } c_str()はconst char*を返す. char*にstringをコピーしたい場合は一旦別の領域にコピーする. char *ch; string str = "ABC"; // 長さ…

sshによるPort Forwardingとrsync

Port Forwarding Portforwardingとは,ローカルの特定のポートへのアクセスを別のマシンの指定したポートへ転送することである. Linuxではssh(Secure SHell)によって実現することができる. ssh -fN -L1101:[Remote2]:22 [Remote1] -l [username]root権限で…

Perl勉強メモ

第一歩 perl -e "print 'Hello world!';"'-e'オプションは""内をperlスクリプトとして実行する.以下のようなhello.plというファイルを用意して # hello.pl print "Hello World!! \n"; ターミナルで以下を実行. perl hello.pl 基本 $xx = 1; $yy = 3; $zz =…

ThinkPad X61 SSD換装

目的 HDDの容量に限界がきたため容量の大きなドライブが必要となった. 256GBのSSDが手に入ったので,念願のSSDを体験してみることにした. 環境 マシン lenovo ThinkPad X61 OS Windows7 32bit(UbuntuをD:に入れている) SSD crucial m4 手順 まずSSDの製造…

メモ

勉強すべきこと PTAM,トラッキング パターン認識 OpenGL やるべきこと SSD換装 マザーボード入れ替え おいしい グリコ COOKIE & CREAN マルちゃん ハリガネ 極細メンかた とんこつ味 おむすび道 ごま塩鮭切り身

OpenCVメモ

inline unsigned char getPixel(IplImage *image, int x, int y, int index) { return (uchar)image->imageData[y*image->widthStep + x*image->nChannels + index]; } IplImageの任意の画素にアクセスする関数.

Ubuntu デュアルブート with Wubi

11.10がどうも使いにくいので,10.10にするためにWubiで再インストールすることにしたが,しょーもないところではまった.Wubiを用いれば、Windows上で簡単にUbuntuをデュアルブートの設定を行うことができる. WubiをCDに焼くか,仮想ドライブで読み込めば…

低カロリー食で老化を遅らせる

NHKの「あさイチ」で紹介されていた「低カロリー食が老化を遅らせる」ということが気になったので調べてみた.http://www.news.wisc.edu/releases/15394米ウィスコンシン大学マディソン校医学部のRichard Weindruch教授によれば We have been able to show t…

はてなダイアリーに移転

はてなダイアリーいいな. 言語指定してソースコード張り付けられるのが特に.

Emacs設定ファイル

Emacsメモ 2012.03.02段階でEmacsに導入しているパッケージや設定 Undo-tree(パッケージ) C-x u で右側のバッファに入力の履歴をツリー状に表示してくれる. C-p, C-n, C-f, C-bで移動でき,qでバッファを閉じる. 便利だが少し動作が重い. ダウンロード…

マンデルブロ集合

突然マンデルブロー集合を図示したくなったので暇つぶしに. マンデルブロー集合とは という漸化式において,複素数Znがn→∞で発散しないような複素数cのことである. マンデルブロー集合はガウス平面上でフラクタルとして描画され,相似形の模様が様々なスケ…

メモ

パワーポイント専用機となっていたコンピュータにUbuntuをデュアルブートさせたのでメモ.Ubuntu10.10をダウンロードし,Windows7のDドライブ内にインストール. OpenCV2.2のソースをダウンロードし,コンパイル.足りないパッケージなどは http://wikiwiki.…

Ubuntuデスクトップ

Cygwinで書いたtwmの設定ファイルをUbuntuでも使ってみたいと考えたが,Ubuntu10.10では電源を入れると勝手にX Window Systemが起動しGNOMEになってしまったため,コマンドラインからtwmを起動することができなかった.まずはキャラクタベースのログイン画面…

比叡山延暦寺

久々に比叡山延暦寺へお参りをした.母校の敷地に坂本ケーブルが隣接しており,そこからケーブルカーに乗ること11分と徒歩5分で根本中堂に到着する.運賃は片道840円であるが,琵琶湖を一望できるのでその価値は十分あるんじゃないかな.比叡山延暦寺とい…

CvMatについてメモ

cvCreateMat()とcvMat()の違い. CvMat* matrix1 = cvCreateMat(3, 3, CV_64F); double a[9]; CvMat matrix2 = cvMat(3, 3, CV_64F, a); 配列の先頭アドレスを渡せるのがcvMatということだった.配列の値を操作するだけでmatrix2の値も変わるので使いやすい…

シンボリックリンクのメモ

シンボリックリンクの張り方 ln -s [リンク元] [シンボリックリンク]ライブラリを追加する際にシンボリックリンクをはることになったが,ぱっと思い出せなかったのでメモ. $ sudo ln -s /home/nkgwww/foo-1.2/libfoo.1.2.so /usr/lib/libfoo.so -s : シンボ…