2010年9月20日月曜日

Android アプリ CrenaCam この色 何色 0.9.2

Android アプリ CrenaCam この色 何色 0.9.2リリースしました。
http://www.picolix.jp/
 ・イメージカラー追加表示。(色相から求めています。)
 ・LEDフラッシュライトOFF/ON機能追加
 ・ステータスの表示(シャッター音、手ぶれ防止、LEDフラッシュライト)
crenacam2.jpg
 ・手ぶれ中のサイン表示(MAX5秒)
crenacam3.jpg
 ・ボリュームは、メディアの音量に変更しました。
 ・シャッターを切った時に、プレビューを停止しないようにしました。(黒画面表示なし)
これで、このアプリでやりたいことは全部実装したつもり^^。先人のいろんなサイト参考にさせて頂きました。
本ソフトは、androidnaviとvectorに登録依頼中です。

2010年9月14日火曜日

Android アプリ CrenaCam この色 何色 0.9.1

手ぶれ防止機能を実装しました。誰でも思いつくであろう、加速度が安定した時にシャッターをきる方法です。結構効果はあります。^^ http://dip.picolix.jp/disp9.html
iPhoneでは、こちらに記事がありました。
ちょっとオーバーアクションになりますが、↓のようになります。
giji-off.jpg
giji-off-v.jpg

↑のような状態では、シャッターは切られず安定してから切られます。↓
giji-on.jpg
giji-on-v.jpg
アプリ的には、
sensorManager.registerListener(this,
accelerometer,SensorManager.SENSOR_DELAY_UI);
..
..
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
@Override
public void onSensorChanged(SensorEvent sensorevent) {
//加速度センサー
if(sensorevent.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
/** 重力加速度
g = Math.sqrt(Math.pow(sensorevent.values[SensorManager.DATA_X],2) +
Math.pow(sensorevent.values[SensorManager.DATA_Y],2) +
Math.pow(sensorevent.values[SensorManager.DATA_Z],2));
*/
double XX = sensorevent.values[SensorManager.DATA_X];
double YY = sensorevent.values[SensorManager.DATA_Y];
double ZZ = sensorevent.values[SensorManager.DATA_Z];
g = XX * XX + YY * YY + ZZ * ZZ;
}
}
を実装して、g値が一定範囲に収まるのを取得しようとしたんですが、
ボタンクリックイベント中(シャッターを切る)では、g値は更新されず・・。
仕方がないので、この部分はスレッドにしたらg値は問題なく取れました。
private void Button02_OnClick(){
stability();
mCameraPreview.takePicture(); //撮影
mCameraPreview.mProgress = false;
}
これを以下に変更
private void Button02_OnClick(){
final Handler mHandler = new Handler();
new Thread(new Runnable() {
public void run() {
stability();
mHandler.post(new Runnable() {
public void run() {
mCameraPreview.takePicture(); //撮影
mCameraPreview.mProgress = false;
}
});
}}).start();
}
..
..
..
private void stability() {
SharedPreferences pref =PreferenceManager.getDefaultSharedPreferences(this);
if(!(pref.getBoolean("check2", false)) || accle_flg != true){
return;
}
double g_now = g;
double g_buf;
int g_count = 0;
long start = System.currentTimeMillis();
while(System.currentTimeMillis() - start < 5000){ //5秒まで待つ
try {
Thread.sleep(10);
}catch(
InterruptedException e)
{
}
g_buf = Math.abs(g_now - g);
logv(String.format(":####### %3.3f", g));
if(g_buf < 3.0){
g_count ++;
}else{
g_count = 0;
}
if(g_count > 30){
break; //手ぶれ安定
}
g_now = g;
}
}

2010年9月13日月曜日

Android アプリ CrenaCam この色 何色 リリースしました。

Androidの勉強も兼ねてとりあえず、体裁整えてAndroid アプリ CrenaCam この色 何色 リリースしました。
シャッター音なし簡易カメラとしても使用できます。
http://www.picolix.jp
crenacam.jpg

2010年9月10日金曜日

Xperia Android アプリ CrenaCam 何色?

Xperiaでカメラ撮影画像から範囲を指定して、JIS慣用色を教えてくれるアプリ CrenaCam作りました。まだアルファー版(ちなみにシャッター音なしで撮影できます。) 

アルファー版近日公開予定。
※色名認識エンジンは、以前perlで作ったアルゴリズムの一部分を、android javaに移植しました。
まだ良くないのでこれからチューニング予定です。
an1.jpg
ann2.jpg
ann3.jpg
ann4.jpg

2010年9月2日木曜日

Xperia Andorid アプリ開発(その2)

Andorid アプリで、やっとカメラビューデータの取得・保存までできました。(シャッター音無し)
こちらのサイトでソース公開されていました。感謝^^
http://naskit.com/2009/11/25/ht-03a%e3%81%a7%e3%83%97%e3%83%ac%e3%83%93%e3%83%a5%e3%83%bc%e3%81%ae%e6%98%a0%e5%83%8f%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%83%93%e3%83%83%e3%83%88%e3%83%9e%e3%83%83%e3%83%97%e3%83%87%e3%83%bc/
で、見た目をToycamに合わせることに。レイアウトに結構苦労しました。(右も左も分からない状態で作ったので。)
結局、TableLayoutにて、右上にイメージボタンを配置できました。またXpeiraのカメラボタンとも連動するようにしました。
で、カメラ撮影が目的ではなくて、この画像を利用して、・・・をすることが最終目的です。アルファー版公開時にお知らせします。お楽しみにって誰が・・
an2.jpg