プログラマ気分

メモや自分が思ったことを書く

スポンサーサイト

2014.08.06 Wednesday

一定期間更新がないため広告を表示しています

-|-|-|by スポンサードリンク

Mac で Opengazer にチャレンジ

2011.06.10 Friday

一応、起動に成功したということで、その手順を備忘録として書いています(と言っても、載っていた内容をそのまま試しただけですが)。起動後に関しては、残念ながら正常に動作していません。

Opengazer を簡単に説明すると、オープンソースの視線認識エンジンで、Web カメラで動作します。

約二年前にこの記事で注目していた Opengazer ですが、Linux/Mac で make も出来ずに放置状態でした。

そんな中、github にて Mac で動作するであろう Opengazer に関するレポジトリを発見。手順に従って試してみました。
https://github.com/vazexqi/OpenGazer

まずは MacPorts が必要な様なので、パッケージインストーラをダウンロードしてインストールします。

インストールが済んだら、次に make する上で必要なパッケージのインストールをターミナルから行います。 sudo port install vxl sudo port install opencv +python26 +qt4 +tbb sudo port install boost make するとエラーが出る場合があります。必要に応じて gtkmm をインストールしてください。 sudo port install gtkmm

ちなみにこれらのビルド、インストールにはかなりの時間を要します。また、qt4 のビルドにはかなりの容量が必要となるので要注意です。

各パッケージのインストールが終了したら、先ほどの github のレポジトリからファイルをダウンロードします。
【zipダウンロード】
https://github.com/vazexqi/OpenGazer/zipball/master

ターミナルから解凍したらディレクトリに移動して make を実行。無事成功すると opengazerHighGui が同ディレクトリ内に出力されます。再度ターミナルより下記のコードを実行すると Opengazer が起動します。 ./opengazerHighGui

キャプチャ:Opengazer

ちゃんと映りました。が、どうやら GUI が正常に動いていない様です。顔の認識などはうまくいくのですが、目線の学習を行う為にボタンをクリックしても何も反応しません。

なお、github からダウンロードしてきたファイルの中に Opengazer を使ったゲームが入っています。うまく動作するようになったら試してみたいところです。

Mac11:40comments(0)trackbacks(0)by ニノミヤ カズノリ

DD_belatedPNG / jQuery.belatedPNG についてメモ的な

2011.06.05 Sunday

ここではあまり書いていなかったのですが、だいぶ前に jsdo.it の方で 0.0.5 候補版を公開しています。

jquery.belatedPNG 0.0.4a test - jsdo.it - Share JavaScript, HTML5 and CSS
(jQuery 1.6+ のバグを対処するために公開した 0.0.4 よりも前に載せていたので、バージョンがおかしくなっていますが、位置づけ的には 0.0.5a となります。)
まだ見ていない・試していない方はお試しください。

変更内容

0.0.5a の正式公開は未定です。また、実は既に 0.0.5b もあるのですが、公開自体が未定になっています。

DD_belatedPNG / jQuery.belatedPNG を使う上で(若干メモ的な)

zoom が効かなくなる

これは対象の要素や、その要素の offsetParent などに対して zoom = 1 が指定される為です。例えば IE6 でページ全体を印刷したい場合などで body に zoom が指定されている場合に問題が出る可能性があります。zoom が指定されていれば、そのままにする処理が必要となりますが、残念ながら現行のバージョンではその処理が入っていません。

jQuery.belatedPNG に DD_belatedPNG.fix を付けない理由

IE8 で CSS expressions がサポート外になった為です。詳しく説明すると、DD_belatedPNG.fix は、動的に style 要素を追加し、指定されたセレクタの behaivor プロパティに対して expression を使って fixPng が実行されるようにしています。要素を読み込む前に指定出来る点や、一括で指定出来る点を考えると、速度的にもこちらを実装したいところですが、IE6/7/8 を対象としている jQuery.belatedPNG では仕方なく外しています。

親要素の透過度問題

DD_belatedPNG / jQuery.belatedPNG で pngFix された要素は親要素の透過度に影響されません。そもそも VML が影響を受けないのかよく分かりませんが、pngFix されている要素に対しては、親要素と同時に透過させるのが吉かもしれません。

【追記:11/07/06】どうやら親要素と同時に透過させてもうまくいかないようです。やはり pngFix されている要素に透過処理を施す必要がありそうです。

背景リピート問題

実は一番頭を悩ませている問題です。もし解決策があれば教えて頂きたいです。fixPng による pngFix は、VML の fill ノードを動的に作成して PNG を貼り付けます。fill ノードは type が tile となっており、これがリピートを実現させている(※くわしくはこちら)理由ですが、XP と IE6/7/8 では表示に対して問題があるらしく、zoom であったり、ブラウザの機能で拡大縮小されるとリピートしている画像に 1px 程度の空きが出来ます。なお、Win7 で確認したところではこの問題は発生しませんでした。

印刷問題

通常、印刷時には意図的に非表示となるのですが、調整することで IE6/7 に関してはある程度それらしく表示出来ます。問題は IE8 で、VML 自体が無くなったように表示されてしまいます。現状対処方法は見つかっていません。

本家開発終了について

悲しい限りです

JavaScript17:56comments(1)trackbacks(0)by ニノミヤ カズノリ

jQuery 1.6(+) のバグ?jQuery.support.style に注意

2011.05.14 Saturday

以下、jQuery 1.6.1(11/05/14現在)時点でのお話です。

IE8 + jQuery 1.6(+) において、jQuery.support.style の評価が変わっているので注意してください。

jQuery.support.style とは、getAttribute("style") で要素に記述された style 属性値を取得できるか評価する為に使用します。

IE8 は getAttribute("style") で style 属性値が取得できるので true にならなければなりませんが、何故か 1.6 からは false と評価される様になっています。

1.5.2 と 1.6 とで評価している部分を見比べてみます。

jQuery 1.5.2 の場合

jQuery 1.6 の場合

これらは div 要素内に HTML を直接書き込み、そこから getAttribute("style") で取得出来ているか判断している訳ですが、見て分かるとおり、若干処理が変更されています。

1.5.2 は color プロパティの値(red)を評価するのに対し、1.6 以上は top プロパティ名を評価しています。

ここで問題なのは、IE8 以下だと CSS のプロパティ名を大文字に変換してしまう点です。

IE8 で a.getAttribute("style") を使って取得できる値は "FLOAT: left; TOP: 1px; opacity: .55" であり、小文字のみを見ている 1.6 の評価方法では false となってしまいます。

もしもこの問題を修正するなら、i フラグを付けて大文字小文字どちらでも評価する必要があります。

今回の問題で、もしも IE のバージョン分岐などを jQuery.support.style を使って実装している方は要注意してください。

下記のコードは 1.6 では正常に動作しません。

JavaScript14:40comments(0)trackbacks(0)by ニノミヤ カズノリ

Chrome エクステンション「JS&CSS Highlighter(v1.0.0)」の紹介とバグの解決

2011.02.21 Monday

JS&CSS Highlighter - Google Chrome 拡張機能ギャラリー

JS や CSS ファイルを直接 Chrome で参照した時、カラーリングもせずに見難いと感じないでしょうか。そんな時に「JS&CSS Highlighter」をインストールしておくと、綺麗に色を付けて表示してくれます。
また、JS Beautifier によって、1行に圧縮されているコードを整形してくれる機能も付いており、大変便利です。

下のキャプチャは /packer/ で一行に圧縮したソースコードを JS&CSS Highlighter で表示してみた物です。
イメージ:JS&CSS Highlighter テスト

なお、使用の際には一点注意してください。
「JS&CSS Highlighter」は &、<、> などの演算子を HTML エンティティに変更した後、JS Beautifier によって分割してしまうバグを抱えています。
つまり「<」があったとすると、「& lt;」にして表示してしまうと言う事です。
この問題を対処するには、エクステンション内部を修正する必要があります。

エクステンションの修正

下記の JS を開いてください。

▼Windows(他の環境では違う可能性があります)
C:¥Documents and Settings¥[ユーザー名]¥Local Settings¥Application Data¥Google¥Chrome¥User Data¥Default¥Extensions¥cjkhlhfecbaiapfkmmebdpbeengcelld¥1.0.0_0¥resource¥contentscript.js

▼Mac
/Users/[ユーザー名]/Library/Application Support/Google/Chrome/Default/Extensions/cjkhlhfecbaiapfkmmebdpbeengcelld/1.0.0_0/resource/contentscript.js

次に 25 行目のコードを変更します。

他に CSS の方(29行目)もあるので、修正しておくのが無難かもしれません。

最後に Chrome を再起動、または拡張機能から「JS&CSS Highlighter」を一旦無効にして有効に切り替えれば反映されます。

この問題で重要なのは、html() を使うと HTML エンティティ化してしまうので、nodeValue を用いてそのままの値を取得すればバグを回避出来ると言う事です。

JavaScript19:10comments(0)trackbacks(0)by ニノミヤ カズノリ

【MySQL】全文検索プラグインを試してみる

2011.02.09 Wednesday

MySQL で形態素解析を使った全文検索を行う場合には幾つか方法があります。

今回は、事前に MySQL5.1.54 をインストール済み(yum でインストールしています)であったので、再ビルドするのも面倒なのでプラグインで実現出来るか試してみました。

試したプラグインは以下の二つです。

尚、これらのインストールの前に、MeCab をインストールしておきます。
参考:http://d.hatena.ne.jp/hirokan55/20100210/p1

groonga ストレージエンジン(mroonga)

※ configure で MySQL のソースが必要になるので、インストールしているバージョンのソースファイルをダウンロードしてください。
http://download.softagency.net/MySQL/Downloads/MySQL-5.1/

% rpm -ivh http://packages.groonga.org/centos/groonga-repository-1.0.0-0.noarch.rpm
% yum install -y groonga-devel

下記よりソースファイルをダウンロードしてください。
https://github.com/mroonga/mroonga/downloads/

2011年2月9日現在、最新バージョンは 0.4 です。
https://github.com/downloads/mroonga/mroonga/groonga-storage-engine-0.4.tar.gz

% wget --no-check-certificate https://github.com/downloads/mroonga/mroonga/groonga-storage-engine-0.4.tar.gz
% tar zvxf groonga-storage-engine-0.4.tar.gz
% cd groonga-storage-engine-0.4
% ./configure --with-mysql-config=[mysql_config のパス] --with-mysql-source=[MySQL のソースパス] --with-mecab
% make
% make install

後は MySQL で以下の SQL を実行してインストールは完了です。

アンインストールする場合は下記の SQL を実行してください。

正しくインストールされているかは SHOW PLUGIN で確認してください。

使用する際は CREATE TABLE 時にストレージエンジンを groonga にします。

使ってみた感想ですが、下記の問題があって使うにはまだ厳しい気がします。

今後に期待したいです。

mysqlftppc mecab plugin

基本的なインストール方法は下記が参考になります。
http://chamu.org/blog/?p=60

下記よりソースファイルをダウンロードしてください。
http://sourceforge.net/projects/mysqlftppc/files/mysqlftppc/

2011年2月9日現在、最新バージョンは 1.6.1 です。
http://sourceforge.net/projects/mysqlftppc/files/mysqlftppc/1.6.1/mysqlftppc-mecab-1.6.1.tar.gz/download

% wget http://sourceforge.net/projects/mysqlftppc/files/mysqlftppc/1.6.1/mysqlftppc-mecab-1.6.1.tar.gz/download
% tar zvxf mysqlftppc-mecab-1.6.1.tar.gz
% cd mysqlftppc-mecab-1.6.1
% ./configure --with-mysql-config=[mysql_config のパス] --with-mecab-config=[mecab-config のパス]
% make
% make install

後は MySQL で以下の SQL を実行してインストールは完了です。

アンインストールする場合は下記の SQL を実行してください。

正しくインストールされているかは SHOW PLUGIN で確認してください。

プラグインを有効にするには、フルテキストインデックスに WITH PARSER mecab を付けるだけです。

後はいつも通り全文検索すれば結果が変わっているはずです。

使ってみた感想としては、インストールは簡単で特に不具合もありません。
現時点で、プラグインで全文検索を行うのであればこちらをお勧めします。

-|16:30comments(0)trackbacks(0)by ニノミヤ カズノリ

calendar
     12
3456789
10111213141516
17181920212223
24252627282930
<< June 2018 >>
sponsored links
selected entries
categories
archives
recent comment
recent trackback
links
profile
search this site.

others
mobile
qrcode