2011-01-01から1年間の記事一覧
情報が一ヶ月ほど遅いですが、Node.jsのWindows版バイナリがnpmに対応したようで、コマンドプロンプトからCoffeeScriptが普通に使えるようになっていました。 node.jsよりWindows版のnode.jsを入手、インストール コマンドプロンプトでnodeと打ってきちんと…
お久しぶりです。卒論で死にかけていますがひとまず息はしています。さて、JavaFXが出てから結構立ったのでそろそろ私も弄ってみようと、FXMLというXML文書でGUIを構成する機能を試してみましたところ、謎の挙動を示したのでここで報告しておこうと思います…
今までこのブログでも何回か拡大縮小の話が出てきたことがありますが、もう一度やっておきましょう。 今回は縮小についてです。 最も簡単な縮小処理 間引き法(最近傍法) 画像を小さくするとピクセルも一緒に小さくなってくれたら嬉しいのですが、そんなわ…
というわけで、なんでか知らんけどJavaで画像を弄らんといけなくなった。手っ取り早く画像処理をしてみたい。そんな人のために書くことにしたよ。 一応シリーズにするつもり。もちろん、気が向いたときにしか更新しないけど。最終的にどこまで踏み込んだ内容…
ここまでJPenの記事を書いておいたので、もののついでです。Nicolas氏から「アプレットで使う際のセキュリティーホールの問題が見つかった」との報告がありましたので、報告しておきます。日本語の記事なんて探してもここしかないからね。 Java拡張機能とし…
もうちょっとだけJPenの内容が続いたんじゃよ。 タイトル通りJPenをJava appletで使いたいな、とNicolas Carranza氏(開発者)に聞きに行ってきました。 今までは、セキュリティーマネージャーに引っかかりJPenをJava appletでは動かすことができませんでし…
疲れましたが、これで終わりです。いや、もうちょっとだけ続いたんじゃよ まぁ、実装の仕方に関してはこれで終わりです。 PKindEventを処理する PKindはPButtonEventの処理でちょろっとお話ししましたが、ポインターを操作するデバイスを表しています。 これ…
Javaで筆圧取得といえばJTabletである。文句は受け付けない。 特に日本ではほぼJTabletが主流だ。日本製のJavaペイントソフトのしぃペインターやたかみんがJTabletに対応していることが大きな理由だろう。 もっとも、これらで用いられたのは、一般人が簡単に…
前回から続けてJPen2やっていきますよ〜。今回はレベルイベントを処理していきます。 PLevelEventを処理する レベルイベントは値が変化したときに発生するイベントです。そのとき渡されるイベントはPLevelEventです。マウスイベントに変換する際はMOVEDとDRA…
Eclipse3.7.1が今日正式にリリースされました。これでEclipse上でもJava7構文が大手を振って使えます。 さて、Java7で投入されたswitchにStringが使えるという構文。 switch(s){ case "abc": System.out.println("ok");break; case "bbb": System.out.printl…
画像のint,byte配列データを直接弄りたいときは、BufferedImageの持つWritableRasterからDataBufferを取り出して、クラスによってDataBufferByteかDataBufferIntに変換し、データを取り出す。何かクールじゃないよね。BufferedImageが用意してくれた配列を私…
前回縮小の話で信号理論に基づいた話を少しだけしてみました。 実際の数値には触れませんでしたが、実際にはどの位の値が限界なのでしょうか。 べ、別に日曜日だってのに手頃に書くネタがないから話引っ張ってるって訳じゃないんだからねっ(`・д´・ ;) 1画素…
OpenGL+GLSLによる画像処理プログラミング―「OpenGL」と「シェーダ言語」で「レタッチ・ソフト」の仕組みを知る! (I・O BOOKS)作者: 酒井幸市出版社/メーカー: 工学社発売日: 2009/11メディア: 単行本購入: 3人 クリック: 10回この商品を含むブログ (6件) を…
JavaCompilerからJavaFileManagerを取得するやり方が簡単だ。 JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); JavaFileManager fm = compiler.getStandardFileManager( new DiagnosticCollector<JavaFileObject>(), null, null); Set<JavaFileObject.Kind> kind = new HashSet<JavaFileObject.Kind>();</javafileobject.kind></javafileobject.kind></javafileobject>…
どーもアプリケーションの応答が思わぬところで悪くなる。原因を探っていたら、なんとjavax.swing.Timerが原因だった。 javax.swing.Timerはjava.lang.Timerに比べてシンプルで使いやすいので、よく使っていたのだが、なんと、javax.swing.TimerはEDT(Event …
驚きですね。なんと、 window.setBackground(new Color(0,0,0,0)); で背景が透明なウィンドウが作れるようになってました。jre1.6ならcom.sun.awt.AWTUtilitiesのsetWindowOpaqueでなんかなぁ、的な感じで透過していたのに。そのほか、ウィンドウ全体の不透…
どうも、一ヶ月ぶりです。月に一度の更新は目指していますが、書く内容がない(もしくは、書くのが面倒すぎる)という状況だったので放置してました。いや、JavaFX2.0(beta)でiTunesとかmacとかで画像を表示するときみたいな画像ビューアを作ったのをネタに…
ちょっと前にじゃんけんプログラムをポリモーフィズムも条件分岐も必要なしに書けるよ、という記事を書きました。ジャンケンプログラムにポリモー…?何それおいしいの? そのおまけとして複数人数の場合どうするか、と言う記事で、引き分けの場合だけは条件…
今回の話で作ろうとしているのはこれ↓の真ん中の四角いところ。 (saiのキャプチャ) これをある原色(H=h,S=1,V=1)の色の上に一枚のグレースケールの画像を重ねて表現しようという、よくある一般的な話です。てか、誰かこれ文章化しておいてくれても良いん…
いっつも分からなくなるのでメモ。 A = A×Bにしたいとき A.concatenate(B) A = B ×Aにしたいとき A.preConcatenate(B) Rθをθ(rad)の回転行列とする A = A×Rθとしたい場合 A.rotate(θ) A=Rθ×Aが欲しいとき 手段無し。 (A.preConcatenate(AffineTransform.get…
前回のソース2を再帰呼び出しからループに変換してみる。例えば前回のように2097152個のデータを突っ込むと21階層もの再帰呼び出しになる。したがって、これをループに変換するってのは重要なことだ。
私はあまり画像を波長空間でフィルタリングとか言うことをやらないので、実のところ、今までFFTどころか離散フーリエ変換(DFT)すらしたこと無かった。というわけで、ちょっと調べてみたのでまとめてみようと思う。かなり長い記事になるよ。
昨日の晩、私の先輩が突然、ジャンケンプログラムをJAVAでつくる課題が出たけどわからんから教えてとやってきました。 あ、先輩、ごちになりました(m __)m まぁ、課題の言わんとしていることは分かるんですよ。言わんとしていることは。 だからセオリーに乗…
ググってみたら、意外にも数式だけで一気に勝利判定してしまうような記事は見当たらなかった。というわけで、おまけで複数人数の時はどうするかです。 といっても、流石に今回は引き分けか、それとも勝負がついたかで処理が異なるので1度条件分岐せざるを得…
私は画像処理屋なのですが、ハードウェアに頼らず、Java側で画像処理をするとき漠然と「8bitならint型に詰め込む、16bitならlong型に詰め込む」とやってきていました。それってどれほど正しいのか?というわけで、ふいに思い立ったので計ってみた。 後述する…
↑というのがググっても出てこなかったのでやってみた。 Toolkit.createImageやApplet.getImageなどで画像を読み込むと非同期で読み込んでくれる。 この読み込み状況はGraphics.drawImageやImage.getWidthなどを呼び出して、ImageObserverを登録することで逐…
CoffeeScriptはMakefileの様な機能を提供しています。 それがCakefileです。 Cakefileの文法はCoffeeScriptと全く同じなのでMakefileの様に新たな記述ルールを覚えないといけない、ということがないのでその分は楽です。 なお、基本的にWindowsユーザー向け…
インターフェースが無修飾関数を宣言できない点はJAVAのいけてない点の一つだと思っている。 もちろん、インターフェースは宣言された関数が実装されていることを保証するための物だから、そのインターフェースで宣言された関数は全てに見えなくてはならない…
去年の10月に書いた記事マウスをShape(PathIterator)の形にドラッグ(移動)させようでNI-Lab.さんの記事をdisったら、まさか本人さんからうんこ喰らえやゴルァと………、すいません、嘘です 別にCloseするときに移動しなくても正しい結果出てね〜、と言われ…
コメントを残してきて、ふと思ったのでメモ。 Javaにはオートボクシングという機能があります。 私的にはJavaの失敗の一つだと思っていますけど。 オートボクシングは非常に中途半端なのです。 私はプリミティブか、ラッパークラスのどちらかを無くすべきだ…