R で、TIFFファイル出力

2013-09-09 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
3、4、1、1、1、 2、0、0、1、0(40)で、換算ポイント 77pt 。
前回記事の後、
「VM」が(5位で)ランク・アウトし、
「Perl」が復活ランク・イン。(2位で)
・-・ - -・

さて、本文。

前回の、
Perl で、TIFFファイル出力
で作った、TIFFファイル出力モジュールを、
R に移植してみた。


仕様的には、全く同じ(機能限定)。

8ビット、グレースケール、画像を無圧縮、でファイル出力。


先ずは関数定義
(下記には、2バイト空白含)

# ----------- 関数定義
  # ---- ファイル名、サイズ(行数、列数)、データ(2次元)
Wt_tif <- function( tif_F, yy, xx, GT ){
  # ---------- TIFF ヘッダー・データ
 H1 <- c( 0x4949, 42, 8,0, 14 )  # 2バイト整数5つ
      # 4バイト整数47こ
 H2 <-c( 0x100+65536*3, 1, 0, 0x101+65536*3, 1, 0, 0x102+65536*3, 1, 8,
     0x103+65536*3, 1, 1, 0x106+65536*3, 1, 1, 0x111+65536*4, 1,198,
     0x115+65536*3, 1, 1, 0x116+65536*3, 1, 0, 0x117+65536*4, 1, 0,
     0x118+65536*3, 1, 0, 0x119+65536*3, 1, 255, 0x11A+65536*5, 1,182,
     0x11B+65536*5, 1, 190, 0x128+65536*3, 1, 2, 0,
     65536*0x4800, 65536*0x0100, 65536*0x4800, 65536*0x0100 )
  # ---------- 処理部
 H2[3] <- xx; H2[6] <- yy; H2[24] <- yy; H2[27] <- xx*yy
 TF <- file( tif_F, "wb" )
   writeBin( as.integer(H1), TF, size=2 )
   writeBin( as.integer(H2), TF, size=4 )
   writeBin( as.integer(as.vector(t(GT))), TF, size=1 )
 close( TF );
}

前回の「Perl」版との違いは、
1.変数名・・・・・・・・'$' を除く
2.配列添字の始まり・・・ 1 から始まる
などなど???



そうしておいて、
これを利用するときは、

別ファイルで定義した場合は、
  source( "・・・" )
で、定義ファイル読込。


それで、関数呼び出しは:・・・・・

yy <- 3;  xx <- 8   # 行数、列数
GT <- matrix( c( 0, 0, 0, 0, 0, 0, 0, 0,
   0, 0, 180, 180, 180, 0, 200, 200,
   0, 0, 0, 0, 0, 0, 0, 0 ), yy, xx, byrow=T )
Wt_tif( "hoge.tif" , yy , xx , GT );
   # ファイル名、行数、列数、データ(2次元)

の様にする。



これで、
R で、直接TIFFファイル出力が出来た。



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


130804,17,0909
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク