はてなブックマークに追加

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
はてなブックマークに追加

mosaicfaceの真実


自動で顔にモザイクをかけるアプリ
mosaicfaceの紹介です。

なかなか、チャレンジャブルなアプリです!
このアプリ、画像はサーバに送信して処理するという・・・
詳しくは下の方で・・


起動するとまず各種オプション画面になります。
モザイクの粗さ、自動顔検出などのオプションが設定可能です。

mosaicface1.jpg

モザイクをかける写真は
カメラまたはライブラリから選ぶことが出来ます。

自動顔検出をONにして
実行してみた結果がこちら。

mosaicface2.jpg

勿論、手動でモザイクをかける範囲を選択することも出来るので
顔以外のものでも、ピンポイントでモザイクをかけることが出来ます。

画面下の定規のような画像をタップして、
画面上でドラッグすると、モザイクをかける範囲を指定することが出来ます。
複数箇所選択できるので、何箇所かにモザイクをかけたい時にも便利です

mosaicface3.jpg



と。ここまではいいのですが。



ちょっと気になったのが、顔検出の遅さ!
一枚の検出にたっぷり20秒は待たされます。
ん~、こういう場合は画像サイズを1/4に落としてから
検索かけるのが常套手段なんだけどなぁ~ぶつぶつ

なーんて言ってたのですが、

どうやらこのソフト、画像をサーバ側に送って処理してるようです。
図示するとこんなかんじ。

mosaicface4.jpg

一昔前の携帯等なまだしも、顔検出ごときでサーバに送んなー(笑)
顔検出だけならiPhone4Gローカルで0.8秒で出来たぞ@研究室
というよりも、無料ソフトで顔検出サーバ立てるって、どんだけリッチなんよ!!


てか、問題はそこじゃなくって!
上の図からも分かるように、処理する画像は一度サーバに送信されてますよね?
なんで、あまりに変態的な画像はこのアプリで処理しない方が吉かも!?(笑)
サーバ側で何してるかわかんないしね~(^^;;)
スポンサーサイト
はてなブックマークに追加

iPhone ネットワークプログラミング その2




サイトを移行しました。
iPhoneアプリと、そのプログラム



第2回:非同期通信によるデータの取得

さて、前回は同期通信でデータを取得しました。
今回は、非同期通信を使ってデータを取得してみましょう。

- ( void ) connection:( NSURLConnection *) connection didReceiveData:( NSData *) data
{
NSLog(@"%@", [[[NSString alloc] initWithData:data
encoding:NSASCIIStringEncoding] autorelease]);
}

- (void)viewDidLoad {
[super viewDidLoad];
NSString *url = [NSString stringWithString:@"http://google.co.jp"];
NSURLRequest *request = [ NSURLRequest requestWithURL:
[NSURL URLWithString:url] cachePolicy:
NSURLRequestReloadIgnoringLocalCacheData timeoutInterval: 60.0 ];
[ NSURLConnection connectionWithRequest: request delegate: self ];
}


前回と同様、実行するためにはview-based applicationでプロジェクトを作成し、
viewController.mの中身に上記プログラムを追加してください。


URLとタイムアウトを設定したNSURLRequestオブジェクトを作成し、
NSURLConnectionクラスのconnectionWithRequest:delegateメソッドを使って
コネクションを張ります。

今回のプログラムではデリゲートは自分自身(viewController)を登録しておきます。
デリゲートってなんぞや?という方はこちら
Objective-Cのデリゲート


データがサーバから送り返されてくると
connection:didReceiveData:メソッドがトリガされます。
データが大きい時には数回このメソッドが呼び出されることになります。


実際にコンパイル&実行してみて
HTMLの内容がコンソールに表示されることを確認してみましょう。

次回はファイルダウンロードについて紹介します
iPhoneネットワークプログラミング その3
はてなブックマークに追加

iPhone ネットワークプログラミング その1




サイトを移行しました。
iPhoneアプリと、そのプログラム



第1回:同期通信によるデータの取得

iPhoneのネットワークプログラミングに関して
あまり資料がないのはなぜだろう?

Macの開発とかなり似ているからだろうか?
しかし、Macのネットワークプログラミング自体
マイナだと思うんだけど(笑)

そんなこんななモチベーションで
iPhoneネットワークプログラミングについて書いてみようと思う。

まずはじめに、簡単なサンプルから。
GoogleのトップページのHTMLを取得するプログラムです。
今回は同期通信でデータを取得するバージョンです。

同期通信とはデータが送り返されてくるまで何もしない、
つまり待ち続ける通信方式です。
これに対して、非同期通信とはデータが送り返されてくるのを
待たずに次の処理を始める通信方式です。

実際のプログラムがこちら。
- (void)viewDidLoad {
[super viewDidLoad];

NSString *url = [NSString stringWithString:@"http://www.google.co.jp"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
NSURLResponse *response = nil;
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response error:&error];

NSLog(@"%@", [[[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding] autorelease]);
}


上のプログラムを実行するためには
View-based application でプロジェクトをつくって
ViewdidLoad関数の中にプログラムを書くだけです。

NSURLRequestクラスのインスタンスにサーバのアドレスを登録し、
sendSynchronousRequestメソッドを使ってリクエストを送ります。
このメソッドの戻り値としてサーバのHTMLがNSData型で返されてくるので、
NSStringクラスのinitWithDataメソッドを使ってNSStringに変換して表示しています。

次回は非同期通信でのやりとりを説明します
iPhone ネットワークプログラミング その2

はてなブックマークに追加

Art remix


iPhoneアプリ Art remex の紹介です。

このアプリでは、イラストレータさんの描いた
イラストを自分の好きなように並べて
新しいイラストを作ることができます。

artremix.jpg

前に紹介したricco.のアプリとよく似ていますね。
というか、同じ会社が出しているようですね。
違いは、イラストの雰囲気と値段です(笑)

こちらのアプリは、数人のイラストレータさんの絵が
混ざっているので、単にイラストを置いていっても
なかなか、雰囲気が馴染まないというのが難点かなぁ。
artremix3.jpg

まぁ、無料なのが最強の強みですけど(笑)
僕としては、良いアプリは有料にすべきだと思っているのですが・・・


実際に作ってみたイラストがこちら。
riccoが西洋風のテイストでまとめられているのに対して、
こちらは、ポップアートよりのイラストになりました~

artremix4.jpg


ご購入はこちらから
banner.png


開発アプリ

iDOF 色影 ラテアート ぱすてる

プロフィール

hokuson

Author:hokuson
京都在住。iPhoneアプリ「色影」や「iDOF」の開発者。アプリのレビューとかもしてみる。博士後期課程@R大学。ついに就職活動なるものをしなければいけないらしい。誰か雇ってください。笑。

カレンダー
08 | 2010/09 | 10
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
カテゴリ
最新コメント
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。