MessagePack for C# でMessagePack旧仕様のbyte[]に対応させる

久しぶりの投稿です。

C#におけるMessagePackライブラリの中で、高速であるとされる MessagePack-CSharp

github.com

高速で洗練されているものの、率直に申しますと、MessagePackの古い仕様のサポートが不十分で面倒なようです。その克服の方法です。

ちなみにこの克服にあたり、本家MessagePack-CSharpに修正のpull requestを出し、受理されました。

github.com github.com

ただし旧仕様を使うなら、速度等にこだわりがないなら、古くから実績のある MessagePack for CLI (以下 MsgPack-Cli) を使うのが楽だと思います。 github.com

続きを読む

島の海岸線の長さを推定してみる

この記事はOpenCV Advent Calendar 2015の23日目の記事です。

qiita.com

あらかじめ言います。しょぼいです。すみません!

目次

  • ネタ
  • 手法
    • 海領域の抽出
    • 輪郭抽出
    • 真ん中の輪郭のみを残す
    • 輪郭の長さを求める
    • 輪郭の長さをkmに変換する
  • 北海道の海岸線長
    • 敗因
  • 佐渡島の海岸線長
  • まとめ
    • 面積への展開
  • コード
続きを読む

オンメモリのFileStorage

この記事はOpenCV Advent Calendar 2015の11日目の記事です。

qiita.com

目次

  • 筆者の環境
  • やりたいこと
  • オンメモリの意義
  • リファレンス
  • ファイルの場合
    • ファイルからcv::Algorithmを読み込み
    • ファイルにcv::Algorithmを保存
  • オンメモリのFileStorage
    • メモリ領域にcv::Algorithmを書き込む
    • メモリ領域からcv::Algorithmを構築
    • cv::Algorithm::saveの秘密
    • saveとwriteの差
    • パクってリベンジ メモリ領域からcv::Algorithmを構築
    • もうちょっと良い方法
    • objnameなんて知らないよ
  • まとめ
  • 自作クラスのFileStorageへの対応
続きを読む

MatAllocatorとGC

この記事はOpenCV Advent Calendar 2015の9日目の記事です。初めてこういうのに参加します。

qiita.com

目次

  • 筆者の環境
  • ネタ概要
  • C++/CLIによるラッパークラス
  • メモリ不足になるシーン
  • メモリ使用量を見てみる
  • MatAllocatorを自作する
    • MatAllocatorについて
    • 自作してどうする?
    • 作ってみた
    • ManagedAllocatorをcv::Matに使わせる
    • 試す
  • おわりに
  • (参考)別の方法
続きを読む