Home > Archives > 2008-07

2008-07

open campus ‘08

夏休みはどの大学でもオープンキャンパスが催されていると思います。
もちろんウチの大学も8月に開きます。
所属研究室の今年のメインテーマは画像処理とのこと。
僕も研究紹介を含めて、簡単なデモアプリを作成中です…
画像処理ではこういう事ができますっていうのを高校生に説明しつつデモを見せることになるんですが、
カメラ映像にモザイクかけたり、背景と合成したりなど、パッと見てわかりやすいものにしようかと。
数式だらけのパネルを展示してもきっと面白くないでしょうし。
最初はActionScriptの練習も兼ねてFlashでデモを作ろうと思ってたんですが、高解像度でストイックな処理をすると重くて動かなかったので、例年通りC++で作ってます。ただ、OpenCVのGUIはやっぱり貧弱だ;;

FlashでもせめてXGAサイズでスムーズにビットマップ処理できれば使いものになるんですけど。。
ノートPCで動かすデモでビデオレート(30fps)出そうとするのはFlashだとムチャなのか?

Eclipse (FlexBuilder)

先月、Eclipseの新しいバージョンの3.4(Ganymede)が出たので、今日バージョンアップデートをしたんですが、そしたらなんとFlex開発ができない!
mxmlエディタが開けませんとかいろんなエラーが!
どうやらバージョン3.4だとFlexBuilderプラグインが対応してないようで、そりゃないぜということで調べてみると一応パッチが出てました。ただし非公式のようですが。

Flex Builder 3 plugin don’t work with Eclipse 3.4

他の言語(Java等)でもプロジェクト作って開発する場合、環境をEclipseで統一したいっていう理由もあってスタンドアローン版のFlexBuilderはちょっと入れたくありません。
そもそもスタンドアローン版を使ってる人っていったいどれくらいいるんでしょう。

それにしても、非公式のパッチ当てないといけないっていうのはどうも釈然としませんね;
Adobeさんにはそこらへんしっかり対応して欲しいです。
、とは言ってもEclipse3.4は先月リリースだったので仕方ないとは思いますけど。

FindBugs - Java

NetBeansを使い始めて間もないですが、少しずつ慣れてきました。
プラグインもぼちぼち選んでいこうかなと思ってまずはCheckstyleとFindBugsを。
SQE(Software Quality Environment )でFindBugs、Checkstyle等をまとめてインストールできます。
使うには、ツールバーのQuality → CodeDefects → Check Qualityから起動するか、追加されたCheck Qualityアイコンをクリックするだけです。

なんかちょっと日本語が変ですが普通に使う分には問題ないようです。

スクリプティング - Java

最近はスクリプト(主にActionScriptとPHP)ばかり触っていましたが、
Javaでもスクリプトが使えると聞いたことがあったのでさっそく調べてみました。
どうやらJava SE6からスクリプティング機能が付いたらしいです。

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class HelloScripting {
    public static void main(String[] arguments) {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("javascript");

        try {
            String script = "print('Hello Scripting')";
            engine.eval(script);
        } catch(ScriptException exception) {
            exception.printStackTrace();
        }
    }
}

ScriptEngineManager:スクリプティング機能の開始点を提供するクラス。
ScriptEngine:スクリプトの実行エンジンを表すインタフェース。
ScriptException:スクリプティング機能によるエラーを表す例外クラス。

最初にjavax.script.ScriptEngineManagerクラスをインスタンス化して、ScriptEngineManagerクラスの getEngineByNameメソッドでJavaScriptの実行エンジンを取得しています。
それからevalメソッドでスクリプトを評価しています。このevalメソッドはFileReaderも引数に取れるので、外部においたjsファイルの内容も評価できます。
他にも、スクリプトからJavaのオブジェクトにアクセスしたり、逆にJavaからスクリプトのオブジェクトにアクセスすることもできるみたいです。

最近のJavaは周りからいろいろ取り込んでどんどん巨大になっていってますね。
使う側としては覚えることが増えて大変です;

参考:
Java SE6 じゃじゃ馬ならし 言語の中の言語 - Scripting

カスタムエフェクト - Flex

Flexでカスタムエフェクトを作成するには、いろいろ細かい決まり事を守る必要があります。

各エフェクトはファクトリクラスインスタンスクラスの2つのクラスによって表現されます。
なので、カスタムエフェクトを作るにはファクトリクラスとインスタンスクラスの2つを作る必要があります。

[ファクトリクラスを作成する]
1. mx.effects.Effect クラスのサブクラスを作成
or
2. mx.effects.Effect クラスのいずれかのサブクラスのサブクラスを作成
ファクトリクラスは、インスタンスクラスのオブジェクトを作成し、そのターゲットオブジェクト上でエフェクトを実行します。

[インスタンスクラスを作成]
1. mx.effects.EffectInstance クラスのサブクラスを作成
or
2. mx.effects.EffectInstance クラスのいずれかのサブクラスのサブクラスを作成
インスタンスクラスは、エフェクトロジックを実装します。

少し長くなるので、エフェクトクラスの実装は続きで..

Continue reading

Home > Archives > 2008-07

Meta

Return to page top