タグ

ブックマーク / iphone.moo.jp (3)

  • iPhoneネットワークプログラミング(XMLパース)

    前回とは趣を異にしてiPhoneでXMLの解析をしてみたいと思います。 XMLの解析をするためには、XMLパーサが必要なのですが、大きく分けて2種類のパーサが存在します。それがDOM(Document Object Model)とSAX(Simple API for XML)です。DOMでは、全てのXML情報を一度メモリに読み込み木構造に展開します。それに対してSAXでは、シーケンシャルに情報を読み込んでいきます。雰囲気的にはC言語でいうfgetsとgetcの違いみたいな感じです。 iPhoneではメモリの制約が厳しいため、DOMではメモリ不足が起こる可能性があります。そこで、Cocoa標準のSAXパーサであるNSXMLParserクラスを使用します。 次に、RSSファイルのXMLの構造を見てみましょう。itemタグで囲まれた部分が一つの記事に相当します。ひとつの記事は、タイトル、概要、ア

  • 画像修復プログラムを作った

    OpenCVを使って、欠損領域を含む画像に対して画像修復を行うプログラムを作成しました。参考にした論文はこちらです。かなりGreedyで時間のかかるアルゴリズムですが、結果画像のクオリティは高いです。 Y. Wexler, E. Shechtman and M. Irani, Space-Time Video Completion. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Washington, June 2004. 入力画像がこちら。 赤色正方形の部分を欠損領域として指定しています。 修復結果がこちら かなりのクオリティで修復できているのが分かりますね。アルゴリズムとしては、先日紹介した4種類のうち4番目の「テクスチャの全体最適化による画像修復」に相当します。 このアルゴリズムの基的なアイデア

  • UIScrollViewの使い方(2本指でスクロール編)

    さて前回(UIScrollViewの使い方(座標表示編))は、 タッチイベントは取得出来るようになったけれども、 スクロールができなくなってしまった、という問題が発生したのでした。 そこで、 ・2指でスワイプしたときには、スクロール動作。 ・2指でピンチイン・アウトしたときには、拡大縮小動作。 ・1指で画面をタッチした場合には座標取得 となるような、プログラムを作ってみましょう。 この方法を用いれば、指が2の時は画面の拡大縮小移動を行ない、指が1であれば線を引くといったような動作が可能になるため、多くのドローソフトではこのジェスチャが使われているようです。 この機能を実現するためには、UIScrollViewを継承してオリジナルのScrollViewクラスを作成し、touchesBegan:withEventメソッドなどをオーバライトする必要があります。 上図で説明すると(何度も

  • 1