第7回 iPhone アプリ勉強会 画像処理クラスの作成 縣 禎輝. はじめに 画像処理クラスの作成及び動作.

Slides:



Advertisements
Similar presentations
SPSSによるHosmer-Lemeshow検定について
Advertisements

物理演算を利用したビデオエフェクタの 作成 浅野益弘. 研究内容 経緯 NiVE ( Nico Visual Effects )用のエフェ クトプラグインの作成 本プラグインにより動画作成にかかる 時間と手間の短縮と省力化を目指す.
東京工科大学 コンピュータサイエンス 亀田弘之
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
第 3 回 iPhone アプリ開発勉強会 Objective-C 基礎講座 - インスタンスメソッド - 三井 相和.
9.線形写像.
学生の携帯電話選択理由 岡田隆太.
時間的に変化する信号. 普通の正弦波 は豊富な情報を含んでいません これだけではラジオのような複雑な情報 を送れない 振幅 a あるいは角速度 ω を時間的に変化 させて情報を送る.
情報処理A 第10回 Excelの使い方 その3.
麻雀ゲーム 和島研究室 ソ 小林巧人
5.連立一次方程式.
相関.
第3回 iPhone アプリ勉強会 〜 Smash 〜 伊藤 竜太. はじめに 前準備 チュートリアル: Smash – ステータス・バーの消去 – アウトレットやアクションの接続 – タイマーとアニメーション作成 – フレームワークの追加 本勉強会で使用する教科書 1.
1 情報量(2章). 2 物理的概念との対比1(入れ物と中 身) 塩水 塩 データ 情報 情報の量? 塩分の量! 情報の量は見た目ではわ からない。データと情報 は異なる概念。 塩分の量は見た目 ではわからない。 しかし、本質的な もの。
―本日の講義― ・平均と分散 -代表値 -ぱらつき(分散・標準偏差等) ・Excelによる演習
ノイズ. 雑音とも呼ばれる。(音でなくても、雑 音という) 入力データに含まれる、本来ほしくない 成分.
清水彰一 写真の表示. はじめに 画像を Photo Albums から選択し表示するアプリ 手順 1. Xcode でプロジェクトの作成 2. Interface Builder で UI 部品を配置 3. Xcode で必要なクラスを定義 4. 各 UI 部品の結びつきのための変数を IBOutlet.
素数判定法 2011/6/20.
フーリエ係数の性質. どこまで足す? 理想的には無限大であるが、実際に はそれは出来ない これをフーリエ解析してみる.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
プログラミングⅠ( 1 組) 第 9 回
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
3.エントロピーの性質と各種情報量.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
10.PとNP完全問題との境界.
複素数.
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
アルゴリズムとデータ構造 補足資料 7-4 「単純交換ソート exsort.c 」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志.
第 7 回 iPhone アプリ勉強会 - 夏休み編 - 〜 Web リンクの張り方〜 縣 禎輝.
6.符号化法(6章).
ビット. 十進数と二進数 十進数  0から9までの数字を使って 0、1、2、3、4、5、6、7、8、9、 10、11、12 と数える 二進数  0と1を使って 0、1、10、11、100、101、11 0、111 と数える.
創成C PROGRAMMING PROJECT 中部大学工学部情報工学科:創成Cインタラクティブデザイン( アプリ名: ZIP 2 GPS 作成者: EP00000 藤吉 弘亘.
アルゴリズムとデータ構造 補足資料14-1 「ハッシュ法」
結城諒 司 吉田成 樹 完成予定図 O N! 7セグLE D ランダム表 示 OF F ? 数字が出たら 勝ち!!
正弦波.
3.正方行列(単位行列、逆行列、対称行列、交代行列)
第 8 回 iPhone アプリ勉強会 〜タッチイベント〜 縣 禎輝. はじめに タッチイベント – タッチイベントの取得方法 – タッチされた座標を取得 – タッチで画像を動かす 1.
第 6 回 iPhone アプリ勉強会 〜画像の取得と処理〜 縣 禎輝. はじめに カメラアプリを作成 – 基盤となる Interface とアクションメソッドの作成 – 画像の取得先の設定 – 画像の表示と保存 – 画像にエフェクトをかける 参考ウェブサイト –
論理回路 第1回. 今日の内容 論理回路とは? 本講義の位置づけ,達成目標 講義スケジュールと内容 受講時の注意事項 成績の評価方法.
Bar-TOP における光の 群速度伝播の解析 名古屋大学 高エネルギー物理研究室 松石 武 (Matsuishi Takeru)
C言語応用 構造体.
1. 学内や寮への LAN アクセスポイント 設置にともなう接続確認および接続 マニュアルの作成 2. 無線 LAN の Air Station による環境設定 3. 現在進行中の活動 卒業研究中間発表 D1957 河野和宏.
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
HKS Analysis Log Jul 2006 Part1 D.Kawama. 第壱部 HKS Sieve Slit Analysis.
移動エージェントプログラムの 動作表示のためのアニメーション言 語 名古屋大学情報工学コース 坂部研究室 高岸 健.
1 プログラミング言語論 第13回 プログラムの意味論と検証 (2) 表示的意味論 担当:犬塚. 2 表示的意味論 denotational semantics  表示的意味論では、プログラムの要素とそれが 意味するものを対応付ける。 変数 式 文 A B … A+2 2B+C A:=A+2 if.
プログラミングⅠ( 2 組) 第 1 回 / pLB1.pptx.
「ネット社会の歩き方」レッスンキット プレゼンテーション資料集 15. チャットで個人情報は 言わない プレゼンテーション資料 著作権は独立行政法人情報処理推進機構( IPA )及び経済産業省に帰属します。
8.任意のデータ構造 (グラフの表現とアルゴリズム)
二次元、三次元空間の座標表現 点のベクトル表現と行列による変換 点、線、面の数理表現 図形の変換 投影、透視変換
IPhone 京都勉強会 iPhone4/iPad での 外部ディスプレイ表示 – プログラミングケーススタディー – 木谷公哉
メニューに戻る メニューに戻る | 前表示スライド 前表示スライド G*power 3 の web ページ Windows はこちら Mac はこちら ダウンロード後,実行してインストール.
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
実験5 規則波 C0XXXX 石黒 ○○ C0XXXX 杉浦 ○○ C0XXXX 大杉 ○○ C0XXXX 高柳 ○○ C0XXXX 岡田 ○○ C0XXXX 藤江 ○○ C0XXXX 尾形 ○○ C0XXXX 足立 ○○
オセロの思考アルゴリズムについて 1103072 岩間 隆浩.
Kitenet の解析 (110118) 九州大学 工学部 電気情報工学科 岡村研究室 久保 貴哉.
音の変化を視覚化する サウンドプレイヤーの作成
HCC Hair Color Change. メンバー ソ 渋谷麻美 ソ 渋谷麻美 ソ 清野理衣子 ソ 清野理衣子 ソ 三上貴大 ソ 三上貴大.
東北大学 情報科学研究科 システム情報科学専攻 TOKUYAMA Lab. 1 左順序付き柔軟ラベリングの実 装 Implementation of Left-part ordered Flexible Labeling 東北大学大学院 情報科学研究科 ◎小池 敦 徳山 豪.
IIR 輪講復習 #18 Matrix decompositions and latent semantic indexing.
地球儀と様々な地図. 1 球体としての地球 こうした現象はあることをイ メージすると理解できる。
Presentation transcript:

第7回 iPhone アプリ勉強会 画像処理クラスの作成 縣 禎輝

はじめに 画像処理クラスの作成及び動作

画像処理の流れ iPhone 上で画像選択 画像情報の取得 画像処理 画像の描画 Picker の作成 Interface の作成 Interface と接続 選択画像の取得 グラフィックスコンテキストの作成 画像の縮小・拡大 ビットマップデータの取得 RGB 値の取得 画像処理操作 処理画像の表示 作成データの解放

オフスクリーン描画 直接画面に描写せず、 イメージクラスのインスタンスに描画 しておいて、処理後に画面に転送する という方法 メリット : 再描画の際、処理時間が減る

画像の選択 - (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingImage:(UIImage*)image editingInfo:(NSDictionary*)editingInfo UIImage というクラスのオブジェクトがわたってくる 第三の引数である editingInfo キーとして UIImagePickerControllerOriginalImage を指定す る事でオリジナルデータの UIImage オブジェクトを取り 出す事ができる(画像サイズ 1200×1600 ) 選択画像のクラス 画像サイズ 320×320

画像情報の取得① // オリジナル画像を取得する UIImage* originalImage; originalImage = [editingInfo objectForKey:UIImagePickerControllerOriginalImage]; // グラフィックスコンテキストを作る(画像表示領域) CGSize size = { 300, 400 }; UIGraphicsBeginImageContext(size); グラフィックスコンテキスト グラフィックスを描画するための情報 ( 描画属性 ) を格納 しておくためのもので, これがないと画像の描画が行え ない

画像情報の取得② // 画像を縮小して描画する CGRect rect; rect.origin = CGPointZero; rect.size = size; [originalImage drawInRect:rect]; drawInRect (メソッド) 現在のコンテキストに対して、指定した大きさで 画像の描画を行うもの // 描画した画像を取得する UIImage* shrinkedImage; shrinkedImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();

画像情報の取得③ CGImage ・画像の詳細な情報を取得する事ができる(画像の幅、 高さ、ピクセルの要素毎のビット数、ピクセル毎の ビット数、画像 1 行のバイト数) ・ UIImage オブジェクトから取り出す事ができる // CGImage を取得する CGImageRef cgImage; cgImage = shrinkedImage.CGImage; // 画像情報を取得する size_t width; size_t height; size_t bitsPerComponent; :

ビットマップデータの取得 CGDataProvider (オブジェクト) 画像の元データを取得する CGImageGetDataProvider で CGImage から CGDataProvider を取り出し CGDataProviderCopyData ( API )で ビットマップデータを取得 // データプロバイダを取得する CGDataProviderRef dataProvider; dataProvider = CGImageGetDataProvider(cgImage); // ビットマップデータを取得する CFDataRef data; UInt8* buffer; data = CGDataProviderCopyData(dataProvider); buffer = (UInt8*)CFDataGetBytePtr(data);

ビットマップデータの取得 CFData からポインタを取り出す NSUInteger i, j; for (j = 0; j < height; j++) { for (i = 0; i < width; i++) { // ピクセルのポインタを取得する UInt8* tmp; tmp = buffer + j * bytesPerRow + i * 4; // RGB の値を取得する UInt8 r, g, b; r = *(tmp + 3); g = *(tmp + 2); b = *(tmp + 1);

画像処理 // 輝度値を計算する UInt8 y; y = (77 * r + 28 * g * b) / 256; // 2値化 if(y < 118) y=0; else y=255; // 輝度の値を RGB 値として設定する *(tmp + 1) = y; *(tmp + 2) = y; *(tmp + 3) = y;

画像の描画 // 効果を与えたデータを作成する CFDataRef effectedData; effectedData = CFDataCreate(NULL, buffer, CFDataGetLength(data)); // 画像を作成する CGImageRef effectedCgImage; UIImage* effectedImage; effectedCgImage = CGImageCreate( width, height, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpace, bitmapInfo, effectedDataProvider, NULL, shouldInterpolate, intent); effectedImage = [[UIImage alloc] initWithCGImage:effectedCgImage]; [effectedImage autorelease]; // 画像を表示する _imageView.image = effectedImage;

おわりに 画像処理クラスの作成及び動作