R でTIFF画像入出力

2012-08-27 :  PCクリニック
テーマ:物理、化学、VM、Linux、IE、Firefox、Safari、IT関連。
本文の前に、
-・・・ -・-
blogramのランクインカテゴリについて、
一昨日、
12:30頃には「IT関連」がスコア・アップでランク・アップ(2位から1位)
また日替わり(?)の「化学」がスコア・アップでランク・アップ(8位から6位)
で夜には「医薬品」がスコア変わらずでランク・ダウン(7位から8位)
昨日、
朝方では、「化学」がスコア・ダウンでランク・ダウン(6位から8位)
夜には、更にスコア・ダウンでランク・ダウン(8位から9位)
今朝方は、
「化学」がスコア・アップでランク・アップ(9位から6位)
でも「物理」がスコア変わらずでランク・ダウン(7位から8位)
(これは昨日の内で、昨日の確定値は8位。9位のお方が一気に6位にアップしていた)
結局、
ランクの数は、11、9、2、2、0、 1、0、2、0、1(42)で、
換算ポイントは、206pt まで回復。
・-・ - -・

さて、本文。

」で画像入出力
と云えば、
R の画像処理
が王道(?)でしょうか。


ですが、
<紙>流では、
(「画像形式変換ツール」の)「ImageMagick」を使う???

以前(12-07-04)、
Perl でTIFF画像入出力」で、
  ・・・・・
  「convert.exe」1つだけではなく、「vcomp100.dll」も必要だった。
  この2つがあれば、インストール不要。
  ・・・・・
  TIFF画像の入力は、
  (ImageMagick の)convert.exeで、TIFFをPGM形式に変換し、
  それを、読み込む。
  ・・・・・
  「Perl」の場合、
  最初は、(PGM形式)をテキスト・ファイルとして3行目まで読み。
  「P5」の確認し、
  列数、行数を取得し、
  グレースケール値の255(又は65535)を確認する。

  この時点で、「tell」関数で、ファイル内位置を覚えておく。

  ファイルは一旦クローズし、
  次にバイナリ形式でオープンする。

  先に覚えておいた、ファイル位置に「seek」関数で位置づけ、
  残り全てを「read」関数で一気に読み込む。

  1バイトずつ「substr」関数で取り出し、
  「ord」関数で数値化する。

  これで、うまく行きました。
  ・・・・・

と書きました。

その後、
(R でもバイナリファイルが読めるが)
テキスト形式のPGMファイルが出来ないものかとしつこく探していたら、
(検索語は「imagemagick pgm ascii」)

convert jp2 to ascii pgm
を見つけた。

最初に、
  「convert infile.jp2 -compress none outfile.pgm」
とある。
「.jp2」って何? については、置いておいて、
「 -compress none 」に注目した。

よく分からないが、
やってみることにした。

「convert hogehoge.tif -compress none out.pgm」

キチンとascii形式に成っている!!!


これだと、「R」でもすんなり読める。
(面倒なコーディングが要らない)

  IN=file("out.pgm","rt")
  w=readLines(IN,1)      # "P2"
  w=readLines(IN,1)      # "512 512"
  xy <- as.numeric(unlist(strsplit(w," ")))  # -> -> -> numeric vector
  x <- xy[1]; y <- xy[2]  # col , row
  w=readLines(IN,1)      # "65535"
  ww <- readLines(IN,-1)    # Read All Pixels
  close(IN)
  v <- as.numeric(unlist(strsplit(ww," ")))  # -> -> -> numeric vector
  length(v)          # = x * y

の様にして、512×512の16ビットTIFFが読めた。
(正確には、コメント行の読み飛ばしが必要)

この方法だと、
勿論、「Perl」でも同様ですね。


ただ、「out.pgm」のサイズが大きく(この例では3倍に)なるが。
一時ファイルなので(unlink するので)いいでしょう。

出力は、以前のPerlでの方式でいい。


もっともっと勉強しよう。


オ ソ マ ツ で し た。   <(_ _)>


見ていただきありがとうございました。
お帰りに投票して頂けると嬉しいです。 ⇒ blogram投票ボタン

日記@BlogRanking    
関連記事
スポンサーサイト

コメントの投稿

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

おきてがみ/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
ブックマーク