最近読んだ本 iPhoneデジカメプログラミング

公開日: : iPad, iPhone, , ,

カメラアプリを作る予定はなかったので2011年3月に発売されてからしばらく様子を見ていたが、そろそろ作ってみようと思ったのと、その他有用な情報がつまってそうだったので購入。
著者は仙台市のかたち開発の人で、昔からMac用のアプリケーションを作っていた人らしい。

本文中は、Xcode 4で説明は統一されている。Xcode 4は出たばかりでまだ移行していないが、それほど変わっていないだろうしこれからはXcode 4がメインになっていくだろうから悪くない選択だと思う。

  • 第1章 iPhoneのカメラとグラフィック : iPhoneのカメラの性能、UIKit, Core Graphics, OpenGL ES の簡単な紹介。
  • 第2章 画像処理の基礎 : 色とは、画像圧縮とは、など画像処理の基礎と、iPhone実機に転送する手順の簡単な紹介。
  • 第3章 BasicCamera:カメラアプリケーションの作成 : ごく基本的なカメラアプリを作ってみる章。Xcode4の使い方の説明になっている。UIImagePickerControllerUIImageWriteToSavedPhotosAlbum などがつかわれる。
  • 第4章 DoodleCamera:プリクラ風カメラアプリケーションの作成 : カメラの画像の上に指で絵を描いて保存できるアプリ。Core Graphicsの機能が多く使われている。
  • 第5章 FlickrMap:Flickr投稿アプリケーションの作成 : Flickr API を使って画像を投稿する。JSON Framework を使う。
  • 第6章 FilterCamera:トイカメラアプリケーションの作成 : OpenCVのフィルタを使って、写真にさまざまなエフェクトをかける。
  • 第7章 BookScan:書籍検索アプリケーションの作成 : オープンソースの ZBar を使ってバーコードをスキャンする。
  • 第8章 ARLocalSearch:ARアプリケーションの作成 : iPhone ARkit と JSON Framework を使ってARアプリを作ってみる。

ざっと見ても分かるとおり、かなり実践的で盛りだくさんな内容だ。
4章はおもしろそうなので写経を始めてみた。そしていきなりさっぱりわからなくてはまる。
そして写経したらどうにもまともに動かずしばらく悩んでいたが、結局本に間違いが見つかった。(著者の方に確認した)
下記のコメントアウトしている2行はP.77にコメントアウトされずに存在しているが、そのままだと保存した画像にカメラからの画像が入らない。
ちゃんと CGContextTranslateCTM の意味が分かっていれば分かるのだが知らずに写経しているとこれははまる。
まだ正誤情報に載っていなかったのでここに書いておく。

+(CGImageRef)rotateImage:(CGImageRef)image mirrored:(BOOL)mirrored {
	int width = CGImageGetWidth(image);
	int height = CGImageGetHeight(image);
	CGContextRef context = [CGUtil newBlankBitmapContext:CGSizeMake(height, width)];
	
	if(mirrored) {
		CGContextTranslateCTM(context, height, width);
		CGContextScaleCTM(context, -1.0, 1.0);
	} else {
		CGContextTranslateCTM(context, 0, width);
	}
	
//	CGContextTranslateCTM(context, height, width);
//	CGContextScaleCTM(context, -1.0, 1.0);
	CGContextRotateCTM(context, -M_PI/2);
	
	CGContextDrawImage(context, CGRectMake(0, 0, width, height), image);
	CGImageRef cgImage = CGBitmapContextCreateImage(context);
	CGContextRelease(context);
	return (CGImageRef)[(id)cgImage autorelease];
}

続きはまた後ほど。

iPhoneデジカメプログラミング
iPhoneデジカメプログラミング 細谷 日出海

ソフトバンククリエイティブ 2011-03-18
売り上げランキング : 22058

Amazonで詳しく見る by G-Tools

関連記事

no image

[iPhone5] ステータスバーの謎の○(丸)表示

iPhone5使い始めて2日目、自宅でもLTE表示が出ていたのになぜかある時から○表示になってしまっ

記事を読む

これは楽しそう。ズボンでドラム演奏 DRUMPANTS

こんな楽しげなデバイスが2014年にKickstarterにでていたらしい。 新しい楽器?ドラムを

記事を読む

no image

Invalid Signature で App Store に Submit できず

無料版と有料版を同じソースからビルドできるようにしようと思いいろいろ試行錯誤を続けている。 ついにビ

記事を読む

[WatchKit] WatchSim 買ってみた

WatchSim Danny Keogan posted with iT

記事を読む

no image

iPhone OS 3.0 インストール

OSのメジャーアップデートの機会は1年に一度だろう、ということで貴重な機会なのとbeta 5になりさ

記事を読む

no image

Android2.1プログラミングバイブル (布留川 英一)

Android本2冊目。Android Hacks はやはりAndroid初心者には難しかったので、

記事を読む

no image

Kickstarter で iPhone/Android で使える腕時計 Pebble に出資してみた

Kickstarter で28時間で100万ドルを調達したという Pebble E-Pape

記事を読む

no image

WEB+DB PRESS 総集編〔Vol.1~72〕購入

71号のHeroku特集を買いにいったらすでに売っていなかったが1から72号までの総集編があったので

記事を読む

no image

20歳のときに知っておきたかったこと ティナ・シーリグ

しばらく前に読み終わっていたが感想を書いていなかった。 基本的に、失敗を恐れずに新しいことに挑戦しよ

記事を読む

no image

iTunes Connect の支払先をCitibankに変更

iTunes Connectからの送金を三井住友銀行の口座で受け取っていたが、毎月4000円の手数料

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

→もっと見る

PAGE TOP ↑