作成者別アーカイブ: somof

箱根の干物屋さんの猫達

毎年2、3度は行く箱根湯本

2015年の6月には、白黒のはち割れの兄弟が居た。
柄は似てるけど、吊り目と垂れ目で見分けがつく。

吊り目の方は、顔付きとは違って人懐っこく、
近寄るとスリスリと挨拶してくる。
観光客が大勢居ても、全然物怖じしないで寄ってくる。

垂れ目の方は臆病で隠れてばかり。
カメラを向けると猫パンチして来る。

以前は、大人の猫と白地の子猫もいたけどなぁ。
今回はこの二匹だけ。

干物屋さんに聞くと、この猫達はのら猫だそう。
母猫が居なくなったので、面倒をみてるとか。

でも、店に入ろうとすると怒るようにしてるので
外の干物焼きのところにいつもいる。

8月に行った時は、臆病なはち割れと黒猫しかいなかった。
滞在中にあもう一度覗いたけど、やっぱりこの二匹だけ。

吊り目の営業担当に会いたいなぁ。

python K-means法の結果が毎回異なると困るので

クラスタ分類に、pythonのkmeans()を使っていたのだけど、
毎回結果が異なるので、解析結果の資料を残すのに具合が悪い。

Kmeans法は初期クラスタを乱数で決めるので、
とりあえず乱数の種の方を固定しようと。。。

しても、実行する度に結果が変わってしまう。

正解は

でした。

使用している kmeans() が scipy.cluster.vq の物だったので。

OpenCV や scikit-learn にも kmeans があって、
それぞれ使っている乱数の関数が違うかも知れない。

それぞれで使っている乱数を調べないとね。

wordpressのプラグインを作ってみる org-modeのテーブルをそのまま使いたい!その2

org-modeで書いたテーブル

みたいなのを、
blogに書くときにプラグインでHTMLのtableに加工したい。

という訳でプラグインを自作したものの、
org-modeで書いたテーブルがあると
WP-MarkDownが書式を壊してしまって動かない。

プラグインの優先度を上げて先に編集すれば、
最初の編集ではどうにかなるけれど、
再編集ができない。(トホホ)

かと言って
WP-MarkDownを使わないのも不便だし
自分でMarkDown機能を実装するのも面倒臭い。

という訳で、
WP-MarkDownに対抗する暫定対応を加えた。

で、こんな感じに動作する。

ヘッダがある場合。

|——+——+————|
| 名前 | 価格 | 日付 |
|——+——+————|
| あれ | 100 | 2015/01/01 |
| これ | 1000 | 2015/02/01 |
| それ | 99 | 2015/03/01 |
|——+——+————|

ヘッダが無い場合。

|——–+——|
| あっち | 100 |
| そっち | 1000 |
| こっち | 99 |
|——–+——|

めんどいなぁ。

org-mode モバイルでは orgzly で!Dropbox経由で簡単同期

これを待ってた!

org-modeと快適に連携できるモバイルアプリ orgzly。

本家とも言える MobileOrg も試したけど、
最初の設定が面倒だったり、同期や日本語がうまくなかった。

ちょっと orz っぽいけど、orgzlyはイイ。

Dropbox経由で使ってみて、とても快適に使えてる。
もちろん日本語もOK。

編集がコンフリクトしてDropboxがファイルを複製した時に
orgzly がどういう動作をするのかが、ちょっと心配。

まぁ、スマホで編集することは、ほとんど無いと思うから大丈夫だろう。

Mac Homebrew OpenCV3をインストール その2 Airでは…

Mac Homebrew OpenCV3をインストール

と同じ手順で、Airにも OpenCV3をインストール。

と思ったら。
同じ手順なのに、 こっちは OpenCV2の最新版 2.4.12 になってしまう。

あるし! opencv3!

もう一度 MacBookProの方でもやってみたら、
やっぱり opencv3 が出て来た!

なんだそりゃ。

MacBookProの方は、間違いなく opencv –HEAD で
3.0.0-dev になってるんだけどな。

homebrew-science/opencv.rb

を見ると、確かに head はopencvの 2.4 ブランチを見ることになってる。

brew update のタイミングが微妙だったのかも。

てな訳で、SSDの逼迫している MacBookAir の方は、
潔く opencv を uninstall して、 opencv3 を入れることに。

せっかくなので gcc も ビルドし直しておく。

opencv3 のオプションは…

適当にオプションを選んで。

–with-contrib は失敗するので外した方が良い。

指示通りに opencv3 のパスを登録して

pythonから確認。

ちゃんと、’3.0.0-dev’になりました。

OpenCV 3.0 でハマった事

割りと軽いノリでOpenCV 3.0 に移行した結果、
あれこれハマった事や面倒だった事のメモ。

ビルドの問題に関しては、
cudaを使ってるのが主な原因の様な気がする。

contribでビルドできないmoduleが、いくつもある

gitでも3.00のアーカイブでも同様。
opencv-text や opencv-tracking は、試したかった機能なので残念。

cudaを使わなければビルドできてた様に覚えているし、
ビルドエラーは見れば直ぐに修正できそうな感じなので、
早晩対応されると思う。

pyton-bindingがビルドできない!

gitでも3.00のアーカイブでも同様。
OpenCV3のウリの一つだっただけに、これは本当に残念。

Windowsのpythonからは、今もOpenCV2を使ってる。

機械学習以外では困らないので、まぁ良いか。

CV_~の定数を、cv::~に置き換える

CV_~の定数は、まだ使えるみたいだけど
そろそろcv::~ のenumに書き換えた方が良いみたい。
CV_BGR2GRAY → cv::COLOR_BGR2GRAY とか

でも、どれが移行出来るのかとか、一覧できないので
順次、気がついたソースから修正中。

OpenCV 1.x 風マクロの置き換え

OpenCV1 APIからC++風APIに書き換えるのは、地味に面倒。
やっぱり、動いたり動かなかったりするので
ビルドしてみてエラーになった物から修正中。

とりあえず、VideoCapture や VideoWriter かな。
あと、画像処理のAPIのドキュメントが無かったりするので、
何となくエラーが出ないように場当たり的に修正している状況。
動いてはいるみたいだけど。

IplImage * と cv::Mat を暗黙で変換してくれなくなった

コンストラクタで暗黙変換しなくなったのが一番影響大きいかな。
そもそも、もう IplImage は使わない方が良いんだろうけど、
プロジェクト単位で見ると、地味に修正箇所が多い。

意を決っして全部修正する事にした。

どうしても IplImage を使いたいところは

とかしてる。

CV_RGB から cv::Scalar に置き換え

RGBの順番が変わるので要注意。

色指定はCV_RGB が便利なんだけど、
中途半端はイヤなので、cv::Scalar に修正中。
揃えるのも大事。

Macはどうしよう…

HomeBrewのOpenCVでは
opencv3が廃止されてopencvに統合されたので
使い分けが面倒になった。

どのみち移行するので、OpenCV3にしてしまった。
これからハマるかも知れない。

MAC標準のapacheでJenkinsを動かす 2015

アップデートしようとして動かなくなったJenkins。

今日は色々アップデートしたから、何が原因か分からない。
とりあえずインストールした時の記憶を頼りに再設定しよう。

脱MAMP 標準のapacheでJenkinsを動かす

前のMacBookProではMAMPでJenkinsを動かしていたけど、
ちょっと大袈裟だから 標準のapacheに変更してたのだった。

Jenkins自体の動作確認

アップデートしようとする前の古いバージョンのJenkinsが
/Applications/Jenkins にちゃんとある。

手動で起動すると。

となって、Jenkinsの標準的なアドレス

http://localhost:8080/

を見に行くと、ちゃんと動いている。

これを、デーモンにすればOK。

apacheとの連携確認

あぁ〜
原因はコレか。

デーモンの設定ファイルがゴッソリ消去されてる。トホホ

これは、何とかして Jenkinsを再インストールしないとダメだな。

Jenkinsの再インストール

調べてみたら、
今やJenkinsは、 Caskじゃなくて素のHomebrewからインストールできるのだった。

Cask版のJenkinsはbrewからアンインストールできなかったので、
手動でファイルを削除しておいた。(ややこしくなるので)

そして

で動作することを確認!

改めてapacheとの連携

言われるがまま。

よしよし。
動いた。

しかも apacheの設定が全く必要ないんだな。。
MAMPより楽ちんですわ。

HomeBrew CaskroomのアプリGAE/Jenkins/Gimp/firefox/Blenderを更新

OpenCV3のインストールのついでに、GAE/Jenkins/Gimp/firefox/Blenderも再ビルドしておこう。

CaskRoomのアプリは、 ~/Applications/ にリンクされる。

なんだけど、 Jenkins は、 /Applications/Jenkins に直でインストールされる。
デーモン化する時に、jennkins.war を毎回探してしまう。(汗)

あぁ… 何かダウンロードしたファイルが壊れてるらしい。
Jenkinsのインストールは、ちょいちょい問題を起すなぁ。

今日は、しょっちゅう brew udate してる気がする。

言われるまま。

結果は変らず。インストール前にダウンロードで失敗。

あれ? インストール済みの古い Jenkins も動かなくなった。

何だよぉ〜。

続く。

Mac Homebrew Emacsをgit-head版に更新

Windows版のemacs-w64のHEAD版が調子良いので、
Macもcsv-Head(いやgit-Headか…)に更新してみた。

気持ち、モッサリした気もするけど。
まぁイイか。

バージョンは殆ど変化なし。
今回:GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.4.0, NS appkit-1348.17 Version 10.10.4 (Build 14E46)) of 2015-08-09 on mbpr15.local
前回:GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.3.0, NS appkit-1347.57 Version 10.10.3 (Build 14D136)) of 2015-05-05 on MacBookPro.local

Mac Homebrew OpenCV3をインストール

インストールに時間がかかるものを、お盆前の暇なうちに入れ直しておく。

OpenCV3 に乗り換え

仕事用のWindowsは、OpenCV2とOpenCV3の混在環境になっていて、
cuda版も合わせて4種類でビルドしたライブラリを使い分けてる。
ちょっとイヤな感じ。

OpenCV3で心底困る事は無いし、機械学習には具合が良いから、
MacBookProの環境は OpenCV3 に乗り換えよう。

まずは、一応OpenCV2も更新しておこう。

gccも再インストールしたので、
ここまでで45分ほど。

ログを見ると、あれれ。

openMPを使えるように、gccを再ビルド

multilibは必要ないけどOpenMPは欲しいのでヤリ直し。

ログは省略。

さて。OpenCV3をのインストール

あれ?、 OpenCV3 が見付からない。
リポジトリを直接見ると有るんだけどな。

さっき brew update はしたし。。。

どうやら、opencvに取り込まれたみたいだ。

OpenCV3はリリースしたてだし、 3.0.0-rc1 よりは HEAD だよね。
ビルドオプションも、今のに合わせて再ビルド。

OpenCVのバージョン確認

インストールは10分ほどで終了。
念のためバージョンを確認しょう。

ちゃんと、 OpenCV3 になってました。

それにしても…
2015年の MacbookPro Retina 15は、2012年版よりもファンがやかましい。
Homebrewのインストールではファンが回りっぱなしで、膝がメチャ熱い。