モバイルアプリやコンピュータ制御に関する雑多なアーカイブ、開発コラム

Wednesday, 7 April 2010

hostmonster












国内レンタルサーバを使っていたが、php.iniなどの細かい設定が変更できないなど、諸々の理由から最近のサーバホスティング事情を調べてみた。

海外のサーバが圧倒的にスペックが高いので、思い切ってhostmonsterを契約した。

なぜここにしたのかは、単純にこのサイトで選んだ。

ssh接続可、容量無制限など、コストも3.95$/monthなどモンスターな仕様。
アメリカのサービスでも日米間は実際125ms程度なので、結局サーバ仕様で選んでいいと判断。

hostmonsterのサーバからwww.yahoo.co.jpへtraceしてみた。

# traceroute www.yahoo.co.jp
traceroute to www.yahoo.co.jp (124.83.167.212), 30 hops max, 40 byte packets
 1  gw2.hostmonster.com (66.147.240.1)  11.042 ms  11.145 ms  11.426 ms
 2  te11-3-0d0.mcr1.saltlake2-ut.us.xo.net (65.46.63.9)  1.274 ms  1.312 ms  1.297 ms
 3  vb1611.rar3.sanjose-ca.us.xo.net (216.156.0.5)  18.818 ms  18.841 ms  18.826 ms
 4  207.88.13.101.ptr.us.xo.net (207.88.13.101)  17.910 ms  17.904 ms  17.887 ms
 5  xe-0.equinix.snjsca04.us.bb.gin.ntt.net (206.223.116.12)  18.708 ms  18.700 ms  18.690 ms
 6  as-1.r21.osakjp01.jp.bb.gin.ntt.net (129.250.3.198)  139.737 ms  139.841 ms  139.790 ms
 7  ae-2.a21.osakjp01.jp.ra.gin.ntt.net (61.200.80.142)  140.273 ms ae-2.a20.osakjp01.jp.ra.gin.ntt.net (61.200.80.134)  140.924 ms  141.529 ms
 8  61.200.82.38 (61.200.82.38)  139.945 ms 61.200.82.42 (61.200.82.42) 

DNSサーバをレジストラ側で切り替え、hostmonsterでDNStransferの設定をし、12-24hで反映されるらしい。

SSHの設定は免許証の写真をメールで送ったらすぐに許可してみた。

サポートセンターとはライブチャットですぐにコンタクトをとれる。DNSが反映されるまで正引できないので、どうすればいいのか聞いたらIPアドレスをおしえてくれたので、これでSSH接続したらサーバにログインできた。

リゾルバDNSをGoogle public dnsに設定してたけど、ここに反映されるのがなかなか遅いようだ。足で使ってるDION(210.196.3.183)は反映されてたので、こちらを指定して確認OK

Sunday, 21 March 2010

ImageMagicのOSXへのインストールと画像変換コマンド

IImageMagickは画像を操作したり表示したりするためのソフトウェアスイート。GIF、JPEG、JPEG 2000、PNG、PDF、Photo CD、TIFF、DPXなど100種類以上の画像ファイルフォーマットに対応しているおり、GPL互換でより制限が緩い独自ライセンスが適用されています。
コマンドラインから利用する方法と、ほかのアプリケーションから呼び出す方法があります。

ImageMagicをインストールする前に、libjpeglibpngをインストールする必要があります。

#wget http://www.ijg.org/files/jpegsrc.v8a.tar.gz
#tar zxvf jpegsrc.v8a.tar.gz
#cd jpeg-8a/
#./configure -enable-shared
#make
#make install

#wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.4.1.tar.gz
#tar zxvf libpng-1.4.1.tar.gz
#cd libpng-1.4.1
# cp scripts/makefile.darwin makefile
# make
# make install

次に、ImageMagicをインストール
#wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
#tar zxvf ImageMagick.tar.gz
#cd ImageMagick-6.6.0-8/
#./configure
#make
#make install

コマンドラインからの画像変換
convert [ options ... ] input_file output_file
拡張子をみて自動的に変換してくれます
#convert hello.pgm hello.jpg




NHocrを使った日本語光学文字認識 #インストール編

日本語の光学文字認識についてトライしました。

nhocrというオープンソースの日本語光学認識プログラムがあります
今回はこのインストールにチャレンジしてみました

依存性の関係上、下記2つのプログラムのインストールが必要です

FreeType
The FreeType project develops free, portable and high-quality software solutions for digital typography. We focus on bringing small, efficient and ubiquitous products.
O2-tools
In this project, named "project-O2", my colleague and I implement the methods which we have developed for document analysis and recognition, and release the programs positively, if possible, with source code. The released software is mainly for layout analysis.

1. freetype-2.3.12とO2-tools-2.00をダウンロードし、解凍したディレクトリの中でconfigure、make、make install。

2.nhocr-0.20をダウンロードし、解凍したディレクトリの中でconfigure、make、make install。

これでインストールできました。

試しに/nhocr-0.20/test/run-testを実行すると、下記のようにhello.pgm,fs.pgmというPGMファイルを認識した結果が表示されます。



--> fs.pgm

--> hello.pgm


# ./run-test 
fs.pgm: ファイルシステム
hello.pgm: ニんにちは、
tohoku3.pgm: 
# Character candidates table
#   produced by: NHocr - Japanese OCR  v0.20 
IMG 0
R 1 0 0 2.4283356e+00
R 2 0 0 2.5794504e+00
R 3 0 0 2.7960027e+00
R 4 0 0 2.8455623e+00
R 5 0 0 2.8773998e+00
IMG 1
R 1 0 0 1.9178933e+00
R 2 0 0 3.1787773e+00
R 3 ft 0 0 3.3584956e+00
R 4 0 0 3.4200158e+00
R 5 0 0 3.5008508e+00
IMG 2
R 1 \ 0 0 0.0000000e+00
R 2 0 0 2.9960626e+00
R 3 0 0 3.4399795e+00
R 4 i 0 0 3.5661385e+00
R 5 0 0 3.6350114e+00

ちなみに、PGMファイルのOSX環境での変換はImageMagicを使います。
こちらは次のコラムへどうぞ。

Saturday, 20 March 2010

IEEE Spectrum: Willow Garage Details Its Robotics Navigation Software

IEEE Spectrum: Willow Garage Details Its Robotics Navigation Software



OpenCVを開発/サポートするWillow Garageによるオープンソースロボットナビゲーションの解説

openCV with iPhone #2

OpenCVをiPhoneでビルドする方法

多くのサイトで参照されているyoshimasa niwaさんのサイトですぐにできました。

その前にwgetやgitがインストールされていなかったので、そちらを先に対処した。
gitがない方はgithubでソースをまず手に入れてください。

ダウンロードしたiphone_opencv_testの中にあるOpenCVTESTプロジェクトをビルドすると、Facedetectのアプリがsimulator,deviceの両方でビルドできました。

OpenCVをソースコードからビルドする方法

iPhoneSDKは.Frameworkのような動的リンクに対応していないため、コンパイルするときは静的なライブラリを作成し、アプリケーションに静的にリンクする必要があるとのこと。

1.OpenCVソースコード(OpenCV-2.0.0.tar.bz2)をSourceForgeからダウンロード

2.デモアプリケーションディレクトリ内で展開
%tar xjvf OpenCV-2.0.0.tar.bz2

3.OpenCVにiPhone SDK 3.xでビルドできるようにパッチを当てる
% cd OpenCV-2.0.0
% patch -p0 < ../cvcalibration.cpp.patch_opencv-2.0.0

4.iPhoneのシミュレータむけにビルド。
 ファイルはopencv_simulatorディレクトにインストールされます。
% cd OpenCV-2.0.0
% mkdir build_simulator
% cd build_simulator
% ../../configure_opencv
% make
% make install

5.iPhoneの実機向けにビルド。
% cd OpenCV-2.0.0
% mkdir build_device
% cd build_device
% ARCH=device ../../configure_opencv
% make
% make install

*OpenCV2.0.0と1.1.0では、そのままではiPhoneSDKでビルドできない問題があるので
cvcalibration.cpp.patchでその問題を解決しているとのこと。

*ビルドサポートスクリプトconfigure_opencvのオプション一覧
# ./configure_opencv --help
Usage: ./configure_opencv [Options | Configure Options] [Enviroment Variables]
OPTIONS
  -h, --help           Show this guide
  -c, --configure-help Show configure help for configure options
ENVIROMENT VARIABLES
  SDK_VERION    Select iPhone SDK Version (2.0, 2.1, 2.2, 2.2.1, 3.0, 3.1, 3.1.2 and more)
                Default = 3.1.2
  GCC_VERSION   Select GCC Version (4.0 for SDK 2.x, 3.x, 4.2 for SDK 3.x and more)
                Default = 4.0 for SDK 2.x, 4.2 for SDK 3.x
  ARCH          Select target architecture (device or simulator)
                Default = simulator
  CONFIGURE     Path to configure script
                Default = ../configure
EXAMPLES
  % ./configure_opencv                             
Making OpenCV with SDK3.1.2 using GCC4.2 for iPhone simulator
  % ./configure_opencv GCC_VERISON=4.0 ARCH=device 
Making OpenCV with SDK3.1.2 using GCC4.0 for iPhone device
  % ./configure_opencv SDK_VERISON=3.0 ARCH=device 
Making OpenCV with SDK3.0 using GCC4.2 for iPhone device
  % ./configure_opencv SDK_VERSION=2.2.1           
Making OpenCV with SDK2.2.1 using GCC4.0 for iPhone simulator

FaceDetectのiPhoneでのスクリーンショット
















EdgeDetectのiPhone上でのスクリーンショット

iphone game development links #1

Michael Daleyさんのチュートリアルビデオがわかりやすかったのでリンクを貼っておきます。

Tutorial1
Tutorial 2 – Image Class
Tutorial 3 – SpriteSheet Class
Tutorial 4 – Bitmap Font Class
Tutorial 5 – Animation Class
Tutorial 6 – Tiled Map Class
Tutorial 7 – Singleton Class
Tutorial 8 – Particle Emitter
Tutorial 9 – Sound Manager
Tutorial 10 – Part 1 - Game Structure
Tutorial 12 - Saving Game State
Tutorial 11
Tutorial Update 1
Tutorial Update 2

Sunday, 14 March 2010

openCV with iPhone #1

iphone_sdkのフレームワークでopenCV関連を調べてみた。まずportからopenCVをインストール
$ sudo port selfupdate
$ sudo port install opencv
インストールが終わったら、/opt/local/share/opencv/samples/cにサンプルファイルができるのでサンプルをビルド
$sudo sh build_all.sh
ビルドしたサンプルを動かしてみる
$ ./fitellipse
これは楕円による輪郭のフィッティングプログラム















サンプルプログラムの説明はこのサイトがわかりやすい
http://co-coa.sakura.ne.jp/index.php?OpenCV/サンプルプログラム

Facetrackerを動かしてみた。顔認識のアプリです。


















参考:
http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port

Frameworkの作り方、iphoneでの動かしたについてはまたこんど。

Installation and Compilation

iPhoneのアプリケーション開発日記をはじめます

BASSAB RECORDSの音楽関連は引き続きこちらをご覧ください







BASSABLOG
http://bassabrec.blogspot.com/

昔からmac.comユーザでしたが、今回は"iphone developer program"のアカウントを追加購入しました。appleとの年間契約を1万円追加ということになりますが。

流れとしては、xcodeのインストールiphone_sdkのインストールプロビジョニング→プロジェクトをシミュレータでビルドiphoneデバイスでビルドの工程でアプリが動くようになります

始める前に下調べとして、サンプルコードをたくさんPCにダウンロードしてシミュレータでビルドしてみました。サンプルコードはこちらにたくさんあります。

iPhone OS Reference Library

今回はじめて試したのは、SpeakHereというボイスレコーダのサンプルコード

シミュレータの画面はこんなかんじ
















次はiphoneの実機でビルドです。code signingエラーでしばらく躓きました。大まかに下の2点です

1.signatureがとおらない。appleのサポートセンタに連絡して教えていただきました。
お使いの Mac でシステム言語設定が日本語になっている場合には、英語(English) に変更してください。その上で、以下をご参照の上で再作成を行ってください。なお、App ID はシステムの仕様上削除する事は出来ません。
必要に応じて、新しい ID を追加作成していただけますようお願い申し上げます。
1. Development Certificate および Distribution Provisioning Profile を破棄する。
2. お使いのMac上で ~/Library/MobileDevice/Provisions および
   ~/Library/MobileDevice/Provisioning Profiles から、登録済みのDistribution Provisioning Profile を削除する。
3. Xcode を終了して、新規に Development Certificate、WWDR Intermediate Certificate 、Distribution Provisioning Profile をダウンロードおよびインストールする。
- 証明書を作成する際には、入力するEメールアドレスおよび
 Common Name 欄へ入力する氏名の情報が、iPhone Developer として 登録した際の情報と一致している事を確認してください。
- Development Provisioning Profile を作成する際には、開発で使用するすべてのデバイスの UDID が Program Portal 上に登録されている事、そして Provisioning Profile 上で選択されている事を確認してください。
4. Provisioning Profile をダウンロードした後、ファイルを Xcode のオーガナイザへドラッグして iPhone/iPod touch にインストールする。
5. デバイス上の Settings -> General -> Profiles で、Certificate がインストールされている事を確認する。
6. キーチェーンアクセスにおいて、iPhone Development Certificate に対応する秘密鍵および公開鍵の両方が、鍵のカテゴリ(分類)に登録されている事を確認する。
7. Xcodeでプロジェクトを再起動後、プロジェクトを最上段にハイライトする。
   上部のメニューバーで [情報] アイコンを選択して、'ビルド' において'Debug' 設定が選択されている事を確認する。
8. 'Code Signing Identity’ -> ’Any iPhone OS’ の入力欄に"iPhone Developer: YourFirstname YourLastName" の形式で入力して(Development Certificate 上の Common Name と一致している事)、‘Code Signing Provisioning Profile’ において、自分が作成してDevelopment Provisioning Profile を選択する。
9. プロジェクトウインドウで、‘Device - iPhone OS 3.0 (Project Setting)’ のドロップダウンメニューから ‘Device | Debug’ を選択して、'アクティブな構成'で 'Debug' が設定されている事を確認する。
10. 'ビルドして進行' をクリックして、デバイスにアプリケーションをインストールする。
なお、Program Portal のご利用に際して、日本語による説明を必要とされる場合には、
以下のページをご参照ください。
【iPhone開発ガイド - デバイスの管理】
http://developer.apple.com/jp/iphone/library/documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices/devices.html#//apple_ref/doc/uid/TP40007959-CH4-SW2
上記のページは公開時期が古いため、一部の記述は現在の Program Portal に対応しておりません。予めご了承いただけますようお願い申し上げます。
本件について更なる情報を必要とされる場合には、デベロッパフォーラムをご参照いただくか、デベロッパテクニカルサポート部署へお問い合わせください。
デベロッパフォオーラム
https://devforums.apple.com/
デベロッパテクニカルサポート連絡先 ※英語でのご対応となります。
dts@apple.com

2.identifier設定を下記のように"com.domain.appName"を具体的に書いたらビルドできました

















という感じではじめてアプリを自分のiPhoneで動かすことができました。

OQTO