OpenCV 2.0 – cv::Mat

OpenCV C++ matrix class 前回、OpenCV 2.0 – cv::Ptr ではスマートポインタである cv::Ptr について調べました。 今回はOpenCV 2.0のC++インタフェースの中でも重要な役割を持つ cv::Mat クラスについて。 このクラスは従来の IplImage 及び CvMat に取って代わるものになっていますが、 かなり大きいクラスなので何回かに分けて調べていきたいと思います。 cv::Mat はマルチチャンネルとROI(Region …

OpenCV 2.0 – cv::Ptr

A template class for smart reference-counting pointers OpenCV 2.0では cv::Ptr という参照カウント方式のスマートポインタが用意されています。 これは Boost C++ Library の shared_ptr と同様のもので大変便利です。 参考:参照カウント – Wikipedia 一時的にcv::Ptrクラスのrefcountというメンバをprotectedからpublicに変更して挙動を見てみます。 (cx…

OpenCV 2.0を試してみた

この連休中にちょっとOpenCV 2.0で遊んでいました。 ライブラリの規模がかなり大きくなったのでソースを読むのも大変です; IplImage や CvMat は 新しいC++インタフェースでは cv::Mat に取って代わります。 (1.1preで追加されたWImageクラスの立場は? 関連:cv::WImage ? OpenCV 1.1) また、メモリ管理が賢くなっているので、後始末は各クラスのデストラクタに任せておきましょう。 boostのshared_ptrと同様のスマートポインタ(c…

Thriftでバイナリデータを扱う

Thriftでバイナリデータをやりとりする方法。 以前、FlexでXML-RPCを利用していた時は、確かbase64にエンコードして返していたと思うので、 Thriftでも同様にバイナリデータはbase64にエンコードして返すようにします。 Thriftのソースを漁っていると TBase64Utils とかいうのを見つけたのですが、 どうせboost必須なフレームワークなのでboostを使ってエンコードしてみます。 インタフェースとして、 ・サービス名を Test ・プロシージャ名を retur…

memcached: Slab Allocator

僕の務める会社でも memcached はほとんどのサービスで利用されています。 今は業務も少ないので、ひまつぶしにmemcachedのコードを読んでいました。 Slab Allocatorの部分に興味を持ったので、それについてわかったことのメモ。 以下のサイトで事前知識を付けてからコードを読みました。 memcachedを知り尽くす:第2回 memcachedのメモリストレージを理解する Slab Allocator : メモリの確保・管理を行うメカニズム  ・メモリアロケーションでオーバーヘ…

Thrift + OpenCV

Thriftを利用してOpenCVの関数をスクリプトから呼んでみます。 といってもRPCで繋げるだけで特別なことをする必要はありません。 ここでは、画像の各チャンネルの平均値と標準偏差を求めてみます。 サーバ側でOpenCVの cvAvgSvd() を利用すればOK。 まず、最初にRPCのインタフェースをThrift IDLに書きます。 ここでは、平均と標準偏差を求める関数を2つ作ることにしました。 各チャンネルの値が欲しいので戻り値は list<double> に、 引数は画像ファ…

Thrift::例外処理

Thriftでの例外処理について。 macbookへのインストールについてはThriftインストールを参照。 hello, world 的な話はたくさん情報が公開されているのでそちらを参考するといいかと。 ここでは例外処理についてメモしておきます。 TException ThriftはRPCフレームワークです。 このRPCにおいてなんらかの理由でサーバと通信ができなかった時などの異常系処理。 ThriftではTExceptionという例外オブジェクトを送出します。 PerlとPHPの例を載せます…

休養中…

って書くと、仕事辛くて休職中みたいにも読めるけど、別にそこまで辛くはないです; 今日は六本木ヒルズの森美術館とスカイアクアリウムに行ってきました。 美術館はフラッシュ無しなら撮影可だったんですが、なんとデジカメを忘れるという。。 まぁここに写真を貼るよりああいうのは実物をみないとあんまり意味ないですし。 一応ケータイで東京の街並みを撮りましたが、ひどい画質。。 あとは、マグカップとかエンピツを買ってきました。 職場から歩いて5,6分くらいなんですが、あまり行かないので今日はイイ気分転換になりまし…