Download presentation
Presentation is loading. Please wait.
1
2010 年マルチメディア論 画像処理演習(2) http://www.nier.go.jp/saka/rika/pic2009.txt ( pic1.txt ~ pic8.txt )
2
1.プログラム環境の準備 (1) 検索エンジンで「 Tiny Basic 」をキーワードにして、「 Tiny Basic for Windows 」のトップページを開く。 http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/ (2)「 Tiny Basic for Windows Ver. 1.21 」をダウンロードする。 → 左の「ダウンロード」をクリックし、「最新版 Ver. 1.21 」を 選択する。 → 保存したファイル(セットアップファイル)をクリックする。 (3) TBasic のフォルダを開いて、 Tbasic.exe を実行(クリック) する。 (4)プログラム-新規作成 で、以下のプログラムを入力して、実 行してみる。 (5) Tiny Basic for Windows のWEBページがあるので参考にしてくだ さい。
3
2.画像とプログラム 画像を z: のドライブにダウンロードする。 http://www.nier.go.jp/saka/rika/koizumi.jpg http://www.nier.go.jp/saka/rika/koizumi3.jpg 「プログラム」-「新規作成」の画面に 以下のプログラムをコピーする。 http://www.nier.go.jp/saka/rika/pic1.txt 「即実行」をクリックする。
4
3.座標系を知る (0,0) (300,0)(600,0) (600,400)(300,400) (0,400)
5
4. 1 LINEと色番号 直線を描く方法: line ( 始点 )-( 終点 ), 色番号 【例】 line (150,0)-(150,400),14 グラフィックで使える色は 16 色で,色番 号 0 から 15 まで指定できます。 色は次のよ うに割り当てられています。
6
4. 2 LINEで長方形を 描く 長方形を描く方法: line ( 始点 )-( 終点 ), 色番 号,bf 【例】 line (300,0)-(600,400),14,bf ← 塗りつぶ す 【例】 line (300,0)-(600,400),14,b ← 塗りつぶ さない 長方形の色は 16 色で,色番号 0 から 15 まで指 定できます。 色は次のように割り当てられ ています。
7
【演習1】 LINE の演習 (0,0) (300,0)(600,0) (600,400)(300,400) (0,400) ここを黒 く塗る 簡単な漢字を LINE で書く
8
5.画素(ピクセル) http://www.nier.go.jp/saka/rika/pic2.txt (x,y) の色を読み取る方法 iro$ =GetRGBPixel(x,y) ※ GetRGBPixel の y 座標(次頁参照)に注意すること。 (x+300,400-y) に色を書き込む方法 forecolor=iro$ pset(x+300,400-y)
9
6. GetRGBPixel(x,y) のy座標 (0,0) (300,0)(600,0) (600,400)(300,400) (0,400) y の値 x の値 pset(x+300,400-y)
10
【演習2】 画像を斜め傾ける (0,0) (300,0)(600,0) (600,400)(300,400) (0,400)
11
7. 1 RGBを16進数で表 示 http://www.nier.go.jp/saka/rika/pic3.txt RGBを16進数で表示 zr$="&h"+mid$(iro$,2,2) zg$="&h"+mid$(iro$,4,2) zb$="&h"+mid$(iro$,6,2) iro="#FF005A" のとき、 mid$(iro$,2,2) は、 FF mid$(iro$,4,2) は、 00 mid$(iro$,6,2) は、 5A
12
7. 2 RGBを10進数で表 示 http://www.nier.go.jp/saka/rika/pic3.txt iro="#FF005A" のとき、 mid$() によって、 zr$="&hFF" になる。 zg$="&h00" になる。 zb$="&h5A" になる。 RGBを10進数で表示 nr=val(zr$) → nr=16x15+15=255 ng=val(zg$) → ng=16x 0+ 0= 0 nb=val(zb$) → nb=16x 5+10= 90
13
8. 1 画像(カラー)を赤色の みに http://www.nier.go.jp/saka/rika/pic4.txt iro="#xx????" のとき、 mid$() によって、 zr$="#xx0000" にする。 zr$="&h"+mid$(iro$,2,2) または、 zr$=mid$(iro$,1,3) forecolor=zr$+"0000" pset(x+300,0)
14
8. 2 画像(カラー)をモノク ロに http://www.nier.go.jp/saka/rika/pic5.txt nr と ng と nb の平均を求め、整数化する。 nx=int((nr+ng+nb)/3) nx を16進数にする。 zx$=right$("0"+hex$(nx),2) RGBをすべて同じ zx$ にして、その色を pset の座標に置く。 forecolor="#"+zx$+zx$+zx$ pset(x+300,400-y)
15
【演習3】 画像を2値化する 2値化とは、白か黒にする。白と黒の中間(灰 色)は使わない。 前頁の nx は、 nr と ng と nb の平均なので、 0≦ nx ≦ 255 となる。 2値化の場合、 nx を0( nx < 128 のとき) または 255 ( 128 ≦ nx ≦ 255 のとき)のどちらか にする。 BASIC の条件分岐 If nx<128 Then nx=0 Else nx=255
16
9.画像をぼかす http://www.nier.go.jp/saka/rika/pic7.txt n5 のまわりの画素( n1 ~ n9 )の平均を nx とする。 nx=int((n1+n2+n3+n4+n5+n6+n7+n8+n9)/9) zx$=right$("0"+hex$(nx),2) forecolor="#"+zx$+zx$+zx$ n1 : (x-1,y-1)n2 : (x,y-1)n3 : (x+1,y-1) n4 : (x-1,y) n5 : (x,y) n6 : (x+1,y) n7 : (x-1,y+1)n8 : (x,y+1)n9 : (x+1,y+1)
17
【演習4】 カラー画像をぼか す n5 のまわりの画素( n1 ~ n9 )について、RGBそれぞ れの平均を求める。 n1 : (x-1,y-1)n2 : (x,y-1)n3 : (x+1,y-1) n4 : (x-1,y) n5 : (x,y) n6 : (x+1,y) n7 : (x-1,y+1)n8 : (x,y+1)n9 : (x+1,y+1)
18
10.画像のエッジを抽出する http://www.nier.go.jp/saka/rika/pic8.txt N1 (上の画素)と n4 (下の画素)の差を nx とする。 nx=int((n1-n4)/4) zx$=right$("0"+hex$(nx),2) forecolor="#"+zx$+zx$+zx$ n1 : (x-1,y-1) n2 : (x,y-1)n3 : (x+1,y-1) n4 : (x-1,y) n5 : (x,y)n6 : (x+1,y) n7 : (x-1,y+1)n8 : (x,y+1)n9 : (x+1,y+1)
19
【演習5】 エッジ抽出後にぼか す エッジ抽出画像は、白黒がはっきりと描 かれている。そこで、この画像をぼかし てみよう。 元画像を左に、エッジ抽出画像を右に描 いたので、今度はエッジ抽出画像(右の 画像)をベースにして、左にぼかした画 像を描いてみよう。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.