アーカイブ

‘Mac’ タグのついている投稿

BeagleBoard上でmoxaを開発する

2009 年 12 月 23 日 shokai コメントはありません
カテゴリー: 未分類 タグ: , , , ,

Ubuntu 9.04をインストールしたBeagle Boardの上でtalkticのコンパイルとmoxaへ書き込みを行う。刺しっぱなしで開発できるようになるのでとても便利。

xtel technical information > download> ダウンロードから「開発用エクリプスパッケージ for Mac」をダウンロードしてくる。

xtel-eclipseの中の

  • jsc/jsc.jar
    talkticコンパイラ
  • avrdude/bin/avrdude
    avrdude実行ファイル。mac portsでインストールできるavrdudeだと書き込みが怪しい。
    Ubuntu9.04のaptでインストールできるavrdudeは普通に動くのでこれは必要ない。
  • avrdude/etc/avrdude.conf
    avrdudeの設定ファイル
この3つを手に入れて適当にアクセスしやすい場所に置いておく。


■talkticのコンパイル
javaをインストールする
sudo apt-get install default-jre
which java

コンパイル。source.jsからsource.binを作る
java -jar path/to/jsc.jar -Bsource.bin source.js
macでも同じようにバイナリを作れる。


■moxaへの書き込み
avrdudeをインストールしておく。Macはeclipseについてるavrdudeを使う。
sudo apt-get install avrdude
which avrdude

BeagleBoardではUSBデバイス名を書き込んであっても /dev/ttyUSB0 になってしまい、しかもrootしかアクセスできないのでsudoを使って書き込む。
sudo avrdude -C path/to/avrdude.conf -p m128 -c stk500v1 -b 9600 -P /dev/ttyUSB0 -F -U eeprom:w:source.bin:r


Macだとsudoが必要なくて、デバイス名が認識されてるのでこうなる。
avrdude -C path/to/avrdude.conf -p m128 -c stk500v1 -b 9600 -P /dev/tty.usbserial-gemsbok -F -U eeprom:w:source.bin:r


こんな風に書き込んだりプログラム書いたりしてる
ピクチャ 1

ピクチャ 2

bootcampで入れたWindowsのパーティションサイズを小さくして、そのぶんMac側を大きくしたらWindows起動しなくなった

2009 年 10 月 25 日 shokai コメントはありません
カテゴリー: 未分類 タグ: , ,

追記:これやったらwindows起動しなくなったのでやらないほうがいい・・


Macbook ProにbootcampでWindows XPをインストールしてあるんだけど、最初にインストールした時にWindowsに容量を与えすぎていてMac側が足りなくなってきたのでパーティションサイズを変更した。

Windowsを20GB減らして、その分Mac OSXを20GB増やした。


■準備



■Windowsのパーティションを小さくする
Mac付属のDisk Utilityではfat32パーティションのサイズ変更はできないみたいだけど、
Ubuntuのディスクを入れてCDからブートして(インストールしないで)パーティションエディタというのが上のメニューにあるから起動する。

Macのbootcampアシスタントでwindowsを入れたとすると、画面上で左側にはMacのパーティションがあり、右側にWindowsが入っている。
パーティション・エディタ(gparted)でWindowsのパーティションを小さくして、右に詰める。かなり時間がかかる。

ディスクに変更を書き込む。これで20GB空いた。


■Macのパーティションを大きくする
本来、HFS+でフォーマットしてあるMacのパーティションはMacに入っているDisk Utilityでサイズ変更できるはずなんだけどパーティションマップがエラーを報告しているとかでできなかった。

また、gpartedでもリサイズできなかったので、小一時間悩んだ。


思い切ってバックアップは取ってあるのでMacのパーティションを消す。
gpartedではMacのHFS+でフォーマットできないので、空いた所にフォーマット無しのパーティションを作る。

変更を書き込んでUbuntuは終了させる。


■Macをバックアップから復活させる
Macのインストールディスク(LeopardかSnowLeopard)を入れてalt押しながらMacbookPro起動。

Macのパーティションを消したからかボリューム名がズレて、見た目CDなのにWindowsと書かれたアイコンができるので、それを起動。
Leopardのインストール画面になる。

インストールはせずに、画面の上のメニューからDisk Utilityを起動して、さっき作った未フォーマットのパーティションをHFS+にする。

さらにTimeCapsuleとLANケーブルで直接接続し、「バックアップからシステムを復元」でMac OSXを復活させる
Snow LeopardからLeopardに戻した – 橋本詳解

8時間ぐらい待つ。ばっちり20GB増えてた。



そういえば検索するとWinCloneというソフトを使えと書いてあるページがいくつか出てくるが、WinCloneは最新版の公開が停止されていて、ひとつ古いバージョンを使ったら完全にパーティションサイズが同じでないと書き戻しができなかった。

cvCalcOpticalFlowBM

2009 年 10 月 5 日 shokai コメントはありません
カテゴリー: 未分類 タグ: , , , ,

オプティカルフローのサンプルコードをちょっといじって、カメラからの入力を表示してみた。
ブロックマッチングによるオプティカルフローを使った。

できたソースコード、Makefile


narupeko opticalflownarupeko opticalflownarupeko opticalflownarupeko opticalflownarupeko opticalflow

image.cpp

#include <cv.h>
#include <highgui.h>
#include <cxcore.h>
#include <ctype.h>
#include <stdio.h>
#include <iostream>
#include <boost/format.hpp>

using namespace std;
using namespace boost;

void detect_flow(IplImage *img, IplImage *img_p, IplImage *dst);

int main(int argc, char* argv[]) {
IplImage *img = NULL;
CvCapture *capture = NULL;
capture = cvCreateCameraCapture(0);
//capture = cvCaptureFromAVI(&qute;test.avi&qute;);
if(capture == NULL){
cerr << &qute;capture device not found!!&qute; << endl;
return -1;
}

CvSize size = cvSize(240, 180);
IplImage *img_resized = cvCreateImage(size, IPL_DEPTH_8U, 3);
IplImage *img_gray = cvCreateImage(size, IPL_DEPTH_8U, 1);
IplImage *img_gray_p = cvCreateImage(size, IPL_DEPTH_8U, 1);
IplImage *img_dst = cvCreateImage(size, IPL_DEPTH_8U, 3);

char winNameCapture[] = &qute;Capture&qute;;
cvNamedWindow(winNameCapture, CV_WINDOW_AUTOSIZE);

while (1) {
img = cvQueryFrame(capture);
cvResize(img, img_resized);
cvCvtColor(img_resized, img_gray, CV_BGR2GRAY);
cvCopy(img_resized, img_dst);
detect_flow(img_gray, img_gray_p, img_dst);
cvShowImage(winNameCapture, img_dst);
cvCopy(img_gray, img_gray_p);
if (cvWaitKey(10) == 'q') break;
}

cvReleaseCapture(&capture);
cvDestroyWindow(winNameCapture);

return 0;
}

void detect_flow(IplImage *src_img1, IplImage *src_img2, IplImage *dst_img){
int i, j, dx, dy, rows, cols;
int block_size = 10;
int shift_size = 1;
CvMat *velx, *vely;
CvSize block = cvSize(block_size, block_size);
CvSize shift = cvSize(shift_size, shift_size);
CvSize max_range = cvSize(50, 50);

rows = int(ceil (double (src_img1->height) / block_size));
cols = int(ceil (double (src_img1->width) / block_size));
velx = cvCreateMat(rows, cols, CV_32FC1);
vely = cvCreateMat(rows, cols, CV_32FC1);
cvSetZero(velx);
cvSetZero(vely);

cvCalcOpticalFlowBM(src_img1, src_img2, block, shift, max_range, 0, velx, vely);

for (i = 0; i < velx->width; i++) {
for (j = 0; j < vely->height; j++) {
dx = (int)cvGetReal2D(velx, j, i);
dy = (int)cvGetReal2D(vely, j, i);
cvLine(dst_img, cvPoint(i * block_size, j * block_size),
cvPoint(i * block_size + dx, j * block_size + dy), CV_RGB(255, 0, 0), 1, CV_AA, 0);
}
}
}


Makefile
SRC = image.cpp
DST = image

prefix=/opt/local
INCPATH=$(prefix)/include
LIBPATH=$(prefix)/lib

OPT= -lcv -lcvaux -lcxcore -lhighgui

CC=g++ -O

CFLAGS= -I$(INCPATH)/opencv
LDFLAGS=-L. -L$(LIBPATH)


all:
$(CC) $(SRC) -o $(DST) $(CFLAGS) $(LDFLAGS) $(OPT)

cocoa emacsをインストールした

2009 年 8 月 12 日 shokai コメントはありません
カテゴリー: 未分類 タグ: ,

carbon emacsを使ってたけど、cocoa emacsに乗り換えた。
動作中にメニューの[Windows]→[Font Panel]でフォントサイズをかんたんに切り替えられるのがうれしい。


macportsでインストールした

sudo port install emacs-app-devel

先に持ってたホームディレクトリの.emacs.elや.emacs.d/以下は削除した。

/Applications/MacPorts/Emacs.app から起動。

Command + , で設定画面がでて、フォントなどの設定ができる。
バックスラッシュを打てるようにAlt/Optionキーの割り当てを無くして、かわりにFnキーにMetaを割り当てる
これでalt+¥で\が打てるようになった。
cocoa emacs setting


背景黒で文字を白にしたいので
esc-xして
set-background-color black
set-forground-color white
を指定。
Save Optionsで保存し、一旦終了する。次回起動時に背景黒文字白になってればok
cocoa emacs setting


Firefox拡張のIt’s All Textから指定するエディタへのパスは
/Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs
になる。これでtextareaをcocoa emacsで編集できる。
it's all text config


Mac版Arduino IDEがlibrxtxSerial.jnilibが見つからないエラーで起動しないのを対処

2009 年 7 月 5 日 shokai コメントはありません
カテゴリー: 未分類 タグ: , ,

起動時にこんなエラーが出た。環境はMacbook pro 17インチ OSX LeopardでXCodeなどもたぶん全部入れてあるメイン開発環境。

java.lang.UnsatisfiedLinkError: /Applications/arduino/Arduino.app/Contents/Resources/Java/librxtxSerial.jnilib: no suitable image found.



arduino error


原因は64bit環境で実行されようとしているかららしい。
対処法は2つ。


■Arduinoを32bit版で起動させる
Arduino実行ファイルを右クリックして「情報を見る」
「32ビットモードで開く」にチェック入れる
(hitoriblogさんより)


■64bit版rxtxSerial.jnilibをインストールする
http://iharder.sourceforge.net/current/java/librxtxSerial.jnilib
/Arduino 16.app/Contents/Resources/Java/
の中にある librxtxSerial.jnilib と入れ替える。

これはTechnobabble: Arduino: Problems With librxtxSerial.jnilibに書いてあった方法。


両方ともIDEの起動までは試した。
Arduinoの実機が今ないので動作は試していない。まあどっちかで動くだろう。



他にもフォーラムでも同様の質問が出ていて、こちらでは
アプリケーション/ユーティリティ/Java Preferences
でJavaアプリケーションの方でJ2SE5.0の32bit版が優先されるように上の方にもってこいという指示が出ていた。質問者はこれで解決したらしいけど俺の環境では駄目だった。
これはArduinoがJ2SE6向けに作られていないため。

track feed