• ベストアンサー

Tifファイルの数値化について

指定したTifファイルを読み込んで 各セルの輝度を数値化したいのですが やり方が分かりません。 MATLABでは画像を読み込むと自動で 輝度が数値化されて行列に収まるのですが, 処理速度がイマイチのためにC言語でファイル読み込みを 行いたいと思っています。 Tifファイルのヘッダーの構造等を教えていただけると 助かります。 (画像ファイルを数値化してくれるFreewareがあればベストですが。。。) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jun2004
  • ベストアンサー率42% (24/57)
回答No.1

TIFFは非常に多くのバリエーションをサポートするためにフォーマット仕様からピクセル値を読み出すプログラムを作るのは慣れていないと大変だと思います。 TIFFのフォーマット仕様書↓ http://partners.adobe.com/asn/developer/pdfs/tn/TIFF6.pdf この辺のライブラリを使用されると良いのではないでしょうか。 http://www.libtiff.org/

catastrophe
質問者

お礼

レスありがとうございます。 しっかりと仕様書を読んでプログラム作製に挑戦して見ます。

関連するQ&A

  • DXFファイルをTIFファイルに変換するコンバー…

    DXFファイルをTIFファイルに変換するコンバートソフトについて DXFファイルをTIF(画像ファイル)に変換するコンバートソフトを 探しています。出来れば、フリーソフトがあればベストです。 フリーでなければ、支払いの関係が有るので、 インターネットのダウンロードでの購入ではなく、 パッケージで、売っている安価なソフトが有りましたら教えて下さい。 ご協力お願いします。 使用環境は、WIN2000 JWCADを使用しております。

  • VisualBasic2008でのエクセルファイル読み込み

    今までMATLABで作っていたものをVB2008でも作ることになり、18000(行)×16(列)のエクセルファイルの数値データを0.01秒おきに1行ずつ読み込んで1×16行列(VBで行列と呼ぶのかはわからないのですが・・・)を作成し別に作っておいた1×16行列と逐一比較をしたいのですが、VB2008でのファイルの読み込み方法がわからず行き詰っております。 できれば「0.01秒おきに」という処理も含めてどなたかご教授願えないでしょうか?

  • C言語→MATLABへの変換で、困っています。

    学生研究でMATLABを使用しています。 光学測定系で画像を取り込み、それを解析する実験を行っています。 MATLABはプログラム内の値の変更や処理の追加できることから 大変助かっています。 そこで、もともとはC言語でやっていた3種類の処理を 一つのMファイルで行いたいと思い。 只今、C→MATLAB変換するプログラムの書き直しを行っています。 そのうち2種のプログラムは行列の計算がメインだったため何とか Mファイルに書き直すことができたのですが、 最後のひとつが難しい関数らしきものが多く、 MATLABに書き直すことができるプログラムなのかもわからない状態です。 そこで、 ・C→MATLAB変換可能なプログラムか? ・書き直すにあたってどこを部分を直せばよいのか? をアドバイスいただけないでしょうか? ↓MATLAB化したいC言語ファイル http://karispace.web.fc2.com/cmat2.c 一枚のbmp画像から4枚のdatデータを出力するプログラムです。 C言語とMATLABの三ヶ月前に勉強して、使用しており、基礎がわかる程度です。 よろしくお願いします。

  • エクセルの関数で画像ファイルを開く

    エクセル97をつかってます 任意の画像「ファイル名「99999999.tif」(99999999は任意)」があり そのファイル名をA列のセルに表示し、B列のハイパーリンク =HYPERLINK("C:\Users\フォルダ名\" & A2 & ".tif) をクリックすると開くようにしております。 ところが 開きたい画像名が「99999999-1.tif」というファイル名が まざっており、この場合”ファイルがありません”となり開くことができません。 (VBAでやれば簡単ですが、エクセル関数でやらなくてはならいので困っております) どちらでも開く関数がくめないでしょうか? 詳しいかた教えて下さい。

  • 画像ファイル(jpeg, tiff)からの数値取得

    画像ファイル(静止画でjpeg,bmpなど)から数値のデータを取得する方法としてirfanviewでその画像を読み取り、PNM形式で出力すればいいということがわかりました。 いけそうでいけてない状態になっています。ヘッダーはテキストで出ますが、データ部がテキストエディタで読めないみたいになっています。数値を取り出す方法を教えて頂きたいのですが。 類似の質問ですが、tiffファイルというものがあります。geotiffであり、地理情報が画像データの中に含まれているようですが、これを格子の並びデータとして取り出す方法も検討しています。GISソフトを使えばいいようなのですが、具体的な方法が不明なのですが。 以上、よろしくお願いします。

  • 数値から画像を作りたい

    プログラミング初心者です。 C言語の入門書はとりあえず勉強しました、現在はC++をさわっています。 数値が入っている配列 image[180][180] の値を使ってバイナリ形式の画像を作りたい と考えています。調べてみると下のような書き方をしています ofstream ofs("out.bin", ios::binary); ofs.write(reinterpret_cast<char *>(&a), sizeof(a)); この書き方をすると1ピクセルの値が書き込めるのでしょうか?それぞれの数値の間には ”,”のようなものを入れなくていいのでしょうか?改行はどうすればいいのでしょうか? ヘッダー部分が必要なのでしょうか? 一番簡単に配列の数字からバイナリ形式の画像を作る方法を教えていただきたいです。 宜しくお願いします。

  • Java バイナリデータの扱い

    既出でないことを確認してみたつもりです。 <やりたいこと> 1.バイナリデータに埋め込まれたデータを読み込みたい。 2.バイナリデータの並びは例えば double d1,d2; char buffer[256]; int i1, i2; などとなっていてファイルヘッダとして同じフォーマットのファイルには全て埋め込まれています。これを読み込みたいです。 <質問> C言語であれば例えば構造体を定義してやって構造体のポインタに対して ヘッダの読み込みを行ってやれば上記のdoubleなどの変数は参照できる ようになりますが、Javaで同等の処理をやろうとするとどうすれば 良いのかわかりません。 良い方法があれば教えて下さい。宜しくお願いします。

    • ベストアンサー
    • Java
  • ファイルからのデータ読み込み方法について

    はじめまして、数ヶ月前からC言語を始めたものです。 ファイルからのデータ読み込みについて質問です。 テキストファイルとして以下のようなものがあります。 ************************* 23 3346 45 423 34 23 345 45 56 6345 ・・・ ・・・ ************************* このようなファイルから読み込みを行って、スペース毎の数字(整数型)を構造体の中の変数に順次格納していくようなプログラムを作りたいとおもうのですがどのように行ったらいいのでしょうか? 現在、fgets()で行ごとの文字列を読み込んでから、型変換を行おうと心みているのですが、うまくいきません。 回答よろしくお願いします。

  • ファイルの読み込み(C言語)

    ファイルの読み込みについて質問です。 for ( j=0; j<loop; j++ ){ fscanf ( fp, "%lf", &tmp ); if( (double)tmp != 0.0 ){ AVE[j] = (float)tmp; } } 読み込みファイル 0.000000 0.000000 -11.692600 -34.866700 0.056800 0.091400 0.009800 -0.111000 -0.208900 -0.222600 -0.055100 0.000000 0.072300 0.006500 -0.112500 -0.106500 0.079800 -0.098200 0.000000 0.000000 1行目と5行目の0.0を除いた数値を読み込みたいのですが、上記のコード の場合、3行目の"0.0"もスキップされます。 3行目の"0.0"と他の"0.0"以外の数値を読み込みたい場合、 どのようなコードを書けば実現できませすでしょうか? 初心者なので、できれば具体的なコードでお願いします。 行列数は、変化します。 宜しくお願いします。

  • fortranプログラミングでの数値計算と可視化環

    現在fortran77により数値計算し、可視化する環境を探しています。素人なので、アドバイス頂ければ幸いです。 背景:matlabで既にプログラム済みファイルを、fortranで書き直したい。プログラムは数値計算をしてその結果をグラフ(2D,3D)で可視化する物。matlab環境では計算時間がかかる為、fortranで時間短縮したい。 環境:Win XPへ所有しているマイクロソフトビジュアルFortran77(Ver調査中。7年くらい前の物)をインストールして、それを使おうと考えています。 疑問:どうやって計算結果を可視化するか?ポストプロセッサーとして、gnueplotやmatlabを使用するのは可能だと思うがそれが一番効率的なのでしょうか?ビジュアルFortranには可視化ライブラリみたいな物があるのでしょうか? 不足情報あればアップいたします。初心者ですが、アドバイスを宜しくお願いします。 追伸:研究室の過去の資産の関係でFortranを考えています。多言語でのメリットもあれば教えて頂たいですが、基本古い言語使用に対する中傷「のみ」はご遠慮下さい。

専門家に質問してみよう