2008年1月16日水曜日
BitmapDataはdisposeでnullにならない
BitmapDataクラスの確保したメモリを解放するメソッドdispose()を使った場合、bitmapDataインスタンス自体は解放されない。
2008年1月10日木曜日
OpenCVを使って最小二乗法で解く
//ホモグラフィを作成していく
double a1[75];//25*3
double b1[25];//25*1
double c1[3];//結果3
CvMat Ma, Mb, Mc ,Md ,Me;
cvInitMatHeader( &Ma, 25, 3, CV_64FC1, a1 );
cvInitMatHeader( &Mb, 25, 1, CV_64FC1, b1 );
cvInitMatHeader( &Mc, 3, 1, CV_64FC1, c1 );
//1行目のホモグラフィを求める
//for(i=0;i<25;i++){
for(i=0;i<25;i++){
a1[i*3]=displayPX[i];
a1[i*3+1]=displayPY[i];
a1[i*3+2]=1;
b1[i]=cameraPX[i];
}
cvSolve(&Ma,&Mb,&Mc,CV_SVD);
homographyP[0]=c1[0];
homographyP[1]=c1[1];
homographyP[2]=c1[2];
//2行目のホモグラフィを求める
for(i=0;i<25;i++){
a1[i*3]=displayPX[i];
a1[i*3+1]=displayPY[i];
a1[i*3+2]=1;
b1[i]=cameraPY[i];
}
cvSolve(&Ma,&Mb,&Mc,CV_SVD);
homographyP[3]=c1[0];
homographyP[4]=c1[1];
homographyP[5]=c1[2];
//3行目のホモグラフィを求める
for(i=0;i<25;i++){
a1[i*3]=displayPX[i];
a1[i*3+1]=displayPY[i];
a1[i*3+2]=1;
b1[i]=1;
}
//特異値分解を使って最小二乗法で解く
cvSolve(&Ma,&Mb,&Mc,CV_SVD);
homographyP[6]=c1[0];
homographyP[7]=c1[1];
homographyP[8]=c1[2];
//逆行列を求める
cvInitMatHeader( &Md, 3, 3, CV_64FC1, homographyP );
cvInitMatHeader( &Me, 3, 3, CV_64FC1, homographyRP );
cvInvert(&Md,&Me,CV_SVD);
double a1[75];//25*3
double b1[25];//25*1
double c1[3];//結果3
CvMat Ma, Mb, Mc ,Md ,Me;
cvInitMatHeader( &Ma, 25, 3, CV_64FC1, a1 );
cvInitMatHeader( &Mb, 25, 1, CV_64FC1, b1 );
cvInitMatHeader( &Mc, 3, 1, CV_64FC1, c1 );
//1行目のホモグラフィを求める
//for(i=0;i<25;i++){
for(i=0;i<25;i++){
a1[i*3]=displayPX[i];
a1[i*3+1]=displayPY[i];
a1[i*3+2]=1;
b1[i]=cameraPX[i];
}
cvSolve(&Ma,&Mb,&Mc,CV_SVD);
homographyP[0]=c1[0];
homographyP[1]=c1[1];
homographyP[2]=c1[2];
//2行目のホモグラフィを求める
for(i=0;i<25;i++){
a1[i*3]=displayPX[i];
a1[i*3+1]=displayPY[i];
a1[i*3+2]=1;
b1[i]=cameraPY[i];
}
cvSolve(&Ma,&Mb,&Mc,CV_SVD);
homographyP[3]=c1[0];
homographyP[4]=c1[1];
homographyP[5]=c1[2];
//3行目のホモグラフィを求める
for(i=0;i<25;i++){
a1[i*3]=displayPX[i];
a1[i*3+1]=displayPY[i];
a1[i*3+2]=1;
b1[i]=1;
}
//特異値分解を使って最小二乗法で解く
cvSolve(&Ma,&Mb,&Mc,CV_SVD);
homographyP[6]=c1[0];
homographyP[7]=c1[1];
homographyP[8]=c1[2];
//逆行列を求める
cvInitMatHeader( &Md, 3, 3, CV_64FC1, homographyP );
cvInitMatHeader( &Me, 3, 3, CV_64FC1, homographyRP );
cvInvert(&Md,&Me,CV_SVD);
2008年1月4日金曜日
ドキュメントクラスのコンストラクタでコンポーネントの初期化ができない問題
FlashCS3で、コンポーネントを配置し、ドキュメントクラスを設定した場合、ドキュメントクラスのコンストラクタ上でコンポーネントの値の設定などの初期化を行うことができない。
addedToStageイベントで、はじめてステージに読み込まれた時に初期化を行うなどの処理をいれる必要がある。
参考:
http://www.fumiononaka.com/TechNotes/Flash/FN0604002.html
addedToStageイベントで、はじめてステージに読み込まれた時に初期化を行うなどの処理をいれる必要がある。
参考:
http://www.fumiononaka.com/TechNotes/Flash/FN0604002.html
2008年1月3日木曜日
KeyboardEvent.KEY_DOWNがとれなくなる場合の回避方法
KeyboardEvent.KEY_DOWNは、ステージでaddEventListenerとしておいてもTileListなどをクリックするとイベントがとれなくなるようだ。
とりあえず暫定的な回避方法として、TileListをクリックしたらstage.focus=stageとして問題が回避できた。
他に回避方法や問題が起こる原因を下がる必要あり。
とりあえず暫定的な回避方法として、TileListをクリックしたらstage.focus=stageとして問題が回避できた。
他に回避方法や問題が起こる原因を下がる必要あり。
2008年1月1日火曜日
ScrollPane scrollDragプロパティ
ScrollPaneのscrollDragをtrueにして、scrollPaneを非表示にした場合。
dragEndについてのエラーが発生する。
またscrollPaneのsourceプロパティに設定したディスプレイオブジェクトがなぜかキャンセルされる。
原因不明。
dragEndについてのエラーが発生する。
またscrollPaneのsourceプロパティに設定したディスプレイオブジェクトがなぜかキャンセルされる。
原因不明。
登録:
投稿 (Atom)