CMakeでiOS用のframeworkを作ってみる

先日カッコいいと書いたBlitzを、頑張ってiOS用にビルドしたという話です。

元々Blitzに限らずC/C++で書かれたライブラリがiOSに対応している事はまれで、あーiOSに対応してたら使いたいのになーというシーンはちょくちょくあります。なんですけど、.frameworkを作ろうとすると.xcodeprojを作ってどうのこうのという話になりがちで、普段Autotoolsでビルドしているソースツリーに特定のしかもプロプリエタリなIDEのプロジェクトファイルを追加するとか、醜すぎて誰もやりたくないわけです。

ところが最近OpenCVがiOS用の.frameworkのアーカイブを別途配布しているのを知りまして、どうやってビルドしてんのかなと見てみると、CMakeで一旦xcodeprojを吐いてから、xcodebuildという流れになっていて、それをPythonスクリプトで纏めて、ワンコマンドで.frameworkが構築出来るようになっていました。

まぁiOS用のCMakeLists.txtは必要だし、結局xcodebuild叩いてるやんとかはあるんですけど、プロジェクトファイルを管理せずに済んでいるので、ソースの構成が変わるたびにプロジェクトファイルを編集するという残念な作業からは解放されているので、なるほどなと思いました。

というわけで、真似してBlitzのソースツリーから.frameworkを作ってみようという話ですね。

続きを読む

[アメリカ日記12] ニューヨークで就職活動した話

今年の1月末位から就職活動をしてたんですが、一昨日iHeartRadioにモバイルエンジニアとして採用されまして、来週くらいから働く感じになりそうです。せっかくなので就職活動を始めて採用されるまでの記録を残しておこうと思います。

概要としては6社検討しまして、5社にアプライ、3社落ちて、1社は受かって、1社に途中で断りを入れたという感じです。長いです。

続きを読む

行列計算ライブラリのBlitzのコードがカッコいい件

iOSで行列計算したいなーという事で、ちょろちょろ調べているとBlitzっていうC++のライブラリが見つかったんですけど、すごくカッコよくてビックリしました。

このライブラリ使うと以下のようなノリで行列計算が出来ます。AとBを初期化してる部分がエレガント過ぎますね。

#include <iostream>
#include <blitz/array.h>

using namespace std;
using namespace blitz;

int main(int argc, char** argv) {

    Array<float, 2> A(3,3), B(3,3), C(3,3), D(3, 3);

    A = 1, 0, 0,
        2, 2, 2,
        1, 0, 0;
    
    B = 0, 0, 7,
        0, 8, 0,
        9, 9, 9;

    C = A + B;
    D = A * B;

    cout << "A = " << A << endl
         << "B = " << B << endl
         << "C = " << C << endl
         << "D = " << D << endl;

    return 0;
}

続きを読む

はてブのたまご作った

今年は3/31が復活祭だったので、僕もイースターエッグを作ってみました。何を作るかというので、ブックマーク集まるかもという下心から、はてなブックマークのロゴを模様にしました。ちなみに復活祭は英語でイースターです。

合わせてTwitterタマゴも作ったので盛りつけ写真が以下になります。
easter0
続きを読む

SQLiteが database disk image is malformed エラーを吐いた話

先ほどMacがOSごとクラッシュしました。バックエンドにSQLiteを使ったクローラを走らせていたのですが、再起動してデータベースを叩いてみると、表題のエラーがでてデータにアクセス出来なくなりました。2週間ほど回し続けていたデータなので、一瞬変な汗をかきましたが、復元出来たのでメモ書きを残しておきます。

続きを読む

画像を特徴色を調べる

ちょっと画像の類似度を使って分類実験したいと思います。

それでどうやって画像の類似度を測ろうかなぁと悩んだのですが、その画像を代表する幾つかの色でパレットを作って、その距離でもって類似度にするのが簡単そうなのでやってみることにしました。

なお画像の特徴色は正式な言葉ではありません。英語だとDominant Colorという単語はあるようですが、対応する日本語はわかりませんでした。この記事ではDominant Colorの意味で特徴色と書きたいと思います。

続きを読む