「もしねこ」バージョンアップ
「わけのわからないアプリ」として、一部の方に人気がある「もしねこ」が、ねこを追加してバージョンアップ。
無料なので、皆様ぜひ。
「わけのわからないアプリ」として、一部の方に人気がある「もしねこ」が、ねこを追加してバージョンアップ。
無料なので、皆様ぜひ。
あまり使われてないようだが、iOS5から顔認識機能が搭載されている。
ロック解除向けの認証という使い方は出来ないようだが、「顔」を認識するレベルはなかなか高い。より進化して、「認証」レベルに使えるようになると実用的になる。
さてその顔認識。SDKとしてAPIも提供されている。
それが「CIDetector」だ。
CIDetectorの使い方はいたって簡単。
例えば、カメラやアルバムなどImagePickerからのデータを利用するなら
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSDictionary *detectorOptions = [[NSDictionary alloc] initWithObjectsAndKeys:CIDetectorAccuracyHigh, CIDetectorAccuracy, nil];
faceDetector = [[CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions] retain];
[detectorOptions release];
UIImage* originalImage;
originalImage = [info valueForKey:UIImagePickerControllerOriginalImage];
NSArray *features = [faceDetector featuresInImage:originalImage.CGImage];
for ( CIFeature *face in features ) {
face.bounds.size.width これが幅
face.bounds.size.height これが高さ
face.bounds.origin.x これが中心x
face.bounds.origin.y これが中心y
}
[faceDetector release];
上記のように、CIFeature型の配列が取得出来るので、1つ1つ情報を取得すればいい。
これを利用して、顔を置き換えているのが「もしねこ」というわけだ。
ちなみに、CIDetector Class Referenceを見ただけは書いてないのだが、featuresInImageの戻りは、CIFeatureを継承したCIFaceFeatureだったりする。
なので、
NSArray *features = [faceDetector featuresInImage:originalImage.CGImage];
for ( CIFaceFeature *face in features ) {
face.bounds.size.width これが幅
face.bounds.size.height これが高さ
face.bounds.origin.x これが中心x
face.bounds.origin.y これが中心y
face.hasLeftEyePosition 左目座標ありなし
face.hasRightEyePosition 右目座標ありなし
face.hasMouthPosition 口座標ありなし
face.leftEyePosition 左目座標
face.rightEyePosition 右目座標
face.mouthPosition 口座標
}
こんな感じで、顔のパーツ座標が取得出来る。
なのでこれを利用すると、結構色々なことができると思う。
つけまつげをつけてみたり、アヒル口にしてみたり。目と口のトライアングルはそう変わらないので、ある程度の顔認証に利用したり。
アイデア次第で、面白いアプリが作れると思うので、試してみてはどうだろうか?
また、Appleのサンプル「SqareCam」が、より実用的な使い方をしているので、参考になると思う。
GW前半に、岩手の実家へ行って来た。
昨年、東北新幹線が全線復旧したとき以来、一年ぶり。
あの当時は、自衛隊車両が行き交ってたっけ。
いつも実家へ帰ると、親を連れて遊びに行ったり、グダグダと呑んだりしてるのだが、今回は違う。なんと中学校時代の友人と、ほぼ20年ぶりに再開するのだ。
ことの発端は、この話から。
冬には帰れなかったので改めて連絡してみたら、別の友人にも連絡してくれて3人で会うことになった次第。
ホント、久しぶりですよ。
なんだかみんなあまり変わりなく、単に歳を取っただけと言う感じだったが、話せばそれなりに長い年月を生きてきた話題がぞろぞろ。仕事の話、他の友人の話など、色々盛り上がった。
親も歳を取ったし、友人も歳を取った。もちろん自分もね。
そう思うと、旧友と会ったり親と話したりする時間を、もっと取っても良いのかもしれないなと、思うようにはなったな。
数字画像をランダム表示するiOSプログラム。
基礎と言えば基礎。
ツッコミ歓迎。
最近のコメント