行列による画像処理 デジタル表現論 担当者:劉 雪峰 2017年6月1日.

Slides:



Advertisements
Similar presentations
画像情報処理1 ~画像処理プログラミング~ 2015/05/01 知的画像処理研究室 M1 吉原寛樹
Advertisements

2010 年マルチメディア論 画像処理演習(2) ( pic1.txt ~ pic8.txt )
初年次セミナー 第13回 2次元グラフィックス(1).
初年次セミナー 第8回 データの入力.
情報処理 第7回:Wordを用いた文書の作成 その2 June. 10, 2016.
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
初年次セミナー 第4回 整数と実数の取り扱い.
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
情 報 の 表 現(3) 情報社会とコンピュータ 第10回.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
ファーストイヤー・セミナーⅡ 第8回 データの入力.
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
心理学情報処理法Ⅰ やってみよう:Excelを使ってみよう.
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
情報教育論 第9回 仮定文の仕組み 政策・メディア研究科 岡田 健.
湘南工科大学 2013年4月23日 プロジェクト実習A アドベンチャーゲームを作ろう 第3回 湘南工科大学情報工学科 准教授 小林 学.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
情 報 A ー ディジタル化のしくみ ー.
2014/05/02 知的画像処理研究室 M1 中津美冴 画像情報処理1 ~画像処理プログラミング~ 2014/05/02 知的画像処理研究室 M1 中津美冴
Microsoft PowerPoint Netscape Communicator
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
情報処理 第8回:Wordを用いた文書の作成 その2 June. 8, 2018.
基礎プログラミング演習 第10回.
Borland Delphi 6 でビジュアルプログラミング
JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
IMAQ Vision Builderを使用して、グリッドキャリブレーションを行う方法
画像処理プログラムの説明.
プログラミング演習Ⅱ 課題4第3週 画像処理 (1) ビット演算子.
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
デジタル画像とC言語.
・タイプ別のフレームワーク ・デジタルTips(小技テクニック情報)
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
情報処理Ⅱ 第2回:2003年10月14日(火).
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラミング演習I 2004年5月19日(第5回) 理学部数学科・木村巌.
画像処理プログラミング 知的画像処理研究室 M2 小林 佳奈美.
ex-8. 平均と標準偏差 (Excel 実習シリーズ)
情報処理 第7回:Wordを用いた文書の作成 その2 June. 9, 2017.
プログラミング序論演習.
卒研1 第1回資料 OpenCVを用いた画像処理
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
Excelによる3-D/等高線グラフの描画 2変数関数の描画 Excel によるグレイスケールマップ風描画
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
行列 一次変換,とくに直交変換.
ex-8. 平均と標準偏差 (Excel を演習で学ぶシリーズ)
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
プログラミング演習Ⅱ 課題4第4週 画像処理 (2) 応用.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
Molecular Devices Japan
情報処理Ⅱ 第2回 2004年10月12日(火).
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
マスク合成(のような処理) 出力画像 Out 入力画像1 In1 In1 In2 Out 入力画像2 In
左右反転と180度回転 [0][xsize – 1] [0][0] → i ↓ j [ysize – 1][xsize – 1]
プログラミング入門2 第5回 配列 変数宣言、初期化について
第4回 配列.
printf・scanf・変数・四則演算
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
情報処理3 第4回目講義         担当 鶴貝 達政 12/17/2019.
Presentation transcript:

行列による画像処理 デジタル表現論 担当者:劉 雪峰 2017年6月1日

画像ファイルと行列 画像ファイルはピクセルから構成される。例えば、200×200の 画像は40000のピクセルがある。 実際の画像処理では、ピクセルの色の値を同じサイズの行列に 格納する上、行列の演算によって画像処理が実施される。 10 20 30 30 10 120 121 112 113 133 … 10 20 30 30 10 120 121 112 113 133 … 10 20 30 30 10 120 121 112 113 133 …

画像のピクセルと行列の成分 カラーモードの画像ファイルの場合、各ピクセルの色の表現では、 RGB三色の値を使用している。RGBの値を格納するために、3次元 の行列が必要となる。 例:M×Nの画像ファイルのとき、M×N×3の行列が必要。 画像の行列をAとすると、 A(:, :, 1): 赤 A(:, :, 2): 緑 A(:, :, 3): 青 各色の値の範囲はそれぞれ0~255である。

Octaveの画像処理の命令 画像ファイルをロードして、行列xに格納する。 画像の行列xを表示する。 画像の行列をファイルに出力する。 [x,map,alpha]=imread(“画像ファイルの名前”) ; 画像の行列xを表示する。 image(x) imshow(x) 画像の行列をファイルに出力する。 imwrite(x,“ファイル名”) 画像の行列は普通の行列と同じにように演算できる。

画像におけるピクセルの座標系 行列の第1列 原点 行列の第1行 y軸 行列の最後の行 x軸

演習1 授業のHPからトマトの写真をダウンロードする。 ファイルの保存場所をC:/Users/[アカウント名]/Digital2017/とする。 ファイル名を[tomato.jpg]とする。 計算機にインストールされるOctaveを起動して、現在のディレ クトリを設定してください。 \Digital2017

演習1(続き):起動後のOctave 現在のディレクトリ ファイルの リスト ここに命令を入力する。

演習1(続き) 以下の命令を実行しなさい。 行列xのRGB成分をそれぞれ変数xr,xg,xbに格納する。 [x,map,alpha]=imread(“tomato.jpg”); imshow(x,map) size(x) 行列xのRGB成分をそれぞれ変数xr,xg,xbに格納する。 xr = x(:, :, 1); xg = x(:, :, 2); xb = x(:, :, 3); size(xr); size(xg); size(xb); xr,xg,xbをそれぞれ画像ファイルとして表示しなさい。 imshow(xr,map) imshow(255-xr,map)

RGB画像とグレー画像 RGBの各色の値をベースして、RGB画像ファイルをグレー画像 に変換することができる。 gray_x = (x(:,:,1)/3 + x(:,:,2)/3 + x(:,:,3)/3) ; imshow(gray_x) 平均値の計算はmeanを使ってもよいです。すなわち: gray_x = mean(x,3); 注意:Aのデータは符号なし8bit整数であるので、各成分の値の範囲は0~255である。上記のコードを以下のように計算した結果は予測できない。三つの成分の値は255に超える可能性があるので。 gray_x= (A(:,:,1) + A(:,:,2) + A(:,:,3))/3 ; %間違っている例

演習2:さまざまな画像の加工 画像行列xを利用して、以下の画像の加工を試してみてください。 色の反転 画像の一部を取る。 nx=255-x 画像の一部を取る。 nx = x(:, 1:300, : ) 画像ファイルのサイズを半分にする。 nx = x(1:2:end, 1:2:end, :); imwrite(nx,”tomato_half.jpg”); 上記のコードで得られる行列を画像として表示するために、以下のコマンドを使用する。 imshow(nx,map);

演習3: トマトの写真にある二つのトマトをそれぞれ取って、 tomato_left.jpg, tomato_right.jpgに保存してください。 トマトの周りの余白を取り外すこと。 (チャレンジ) 以下の写真サイズの変更を考えてください。 写真のサイズを2/3にする 写真のサイズを2倍にする。 「ヒント」特に、写真を2倍するとい、もともとのピクセルの間の距離が大きくなって、 そのピクセルの間に新しいピクセルを作成するのは必要である。

演習4 トマトの写真に対して、自由な加工を考えてください。 たとえば、トマトを回転したり、複数にコピーしたりすること。 授業で提供しているトマトの以外の写真も自由に使ってくださ い。

行列を画像ファイルに変換する 行列を画像として描画するとき、行列の成分を「符号なし8bit の整数」に変換するのは必要である。 たとえば、乱数で作成した行列を画像として描くとき、以下の コードを参照しなさい。 A=rand(100,100)*255; imshow( uint8(A) ) ; u: unsigned int : integer 8: 8bit