問題タブ [libtiff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2481 参照

c++ - LNK1313ビジュアルスタジオエラー

Visual Studioを使用して作成したコードをコンパイルして実行しようとしていますが、このタスクの一部では、ダウンロードしたライブラリを使用する必要があります。エラーメッセージには、「致命的なエラーLNK1313:ijw/ネイティブモジュールが検出されました。純粋なモジュールとリンクできません」と表示されます。これは、ライブラリ(誰かがどれを疑問に思っていたのか、libtiff)が純粋なモジュールと見なされ、Visual Studioプロジェクトがそうではないことに関係していると思いますか?そのようなエラーを処理する方法はありますか?私はしばらくの間C++(またはビジュアルスタジオ)を使用していません。何か助けをいただければ幸いです。

0 投票する
2 に答える
6007 参照

c++ - Qt マルチページ TIFF

プログラムからマルチページ TIFF を保存する必要がありますが、Qt はマルチページ TIFF をサポートしていないようです。それでも、私はそれをする必要があります。私のプログラムからそれを行うための最良の方法は何でしょうか?

これまでのところ、ImageMagick のコマンド ライン ユーティリティを使用して、作成した多くの JPEG ファイルからマルチページ TIFF を作成するか、プロジェクトに libtiff を追加して使用しようとするか、GDI+ (少なくとも Windows 上で) を使用して TIFF を生成することを考えています。 .

私が見逃したかもしれない他のアイデアはありますか?

可能であれば、外部の EXE や DLL の使用を避けたいと考えています。つまり、ライブラリをプロジェクトのソース コードに直接追加できるのであれば、それが最適です。

また、すでに完了しているプロジェクトを知っている場合は、リンクを投稿してください。車輪の再発明はしたくありません。

0 投票する
1 に答える
801 参照

c++ - C++ プロジェクトで LIBTIFF を使用できない

Libtiff は C ライブラリですが、Qt Creator の C++ プロジェクトで使用したいと考えています。誰もこれを行う方法を知っていますか? C ライブラリを使おうとするとコンパイル エラーが発生するので、どうすればよいかわかりません。

私が得るコンパイル時エラーは次のとおりです。

c:\libtiff\libtiff\tiff.h:69: エラー: C4430: 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません

行の場合: typedef TIFF_INT8_T int8;

加えて、より多くの同様のエラーが発生します。誰か助けてください。

0 投票する
2 に答える
2062 参照

c# - Libtiff-異なるBitsPerSample-有効またはバグのあるtiffタグ?

タイプ6OJPEGで圧縮されたTIFF画像に出くわしました。その多くは、「8 8 8」の同じBitsPerSampleを持ち、正常に動作します。

ただし、BitsPerSampleの値が「8256080」であるものが時々見られます。これが可能かどうか、そうでない場合は、TIFFを生成したシステムのバグかどうか疑問に思います。もしそうなら、BitsPerSampleが "8 8 8"になるようにタグを変更するだけで修正できる可能性がありますか?

現在、非圧縮TIFFに変換して処理できるツール(LEAD)は1つしか見つかりませんでした。明らかに、これがどのように行われるのかわかりません。非常に少数の画像の問題を解決するためだけに大きなオーバーヘッドが発生します。

誰かがこれに出くわしたり、これを修正するのが簡単か複雑かについて私よりも多くの知識を持っていますか?これまでのところ、Libtiff.netコードをいじくり回そうとした私の試みはあまり実りませんでした!

乾杯

更新:litiff.netを次のような単純なもので使用する:

結果は(明らかに例外処理をスキップしました!):

ReadDirectory:警告、10.TIF:タグ33000(0x80e8)の不明なフィールドが検出されました10.TIF:フィールド「BitsPerSample」の異なるサンプルごとの値を処理できません

未処理の例外:System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。C:\ tiffstuff \ tifftest \ tifftest \ Program.cs:line15のtifftest.Program.Main(String [] args)でセグメンテーション違反

チェックをバイパスして「BitsPerSample」を8と想定していますが、ビットミラクルサイトの例を使用して、画像を抽出してBMPとして保存しようとしています。

明らかにOJPEG警告が表示され、次に次のように表示されます。OJPEGReadHeaderInfoSecTablesQTable:JPEGテーブルがありません

結果の画像は100%緑色です。

これを修正するという点で、私は自分の深さから離れすぎていますか?私はJPEGがどこかにあることを知っていますが、JPEGを取得して正常に解凍できないようです:-(

0 投票する
2 に答える
1235 参照

c# - LibTiff.Net重複ディレクトリを使用して既存の画像のタグを更新する

http://bitmiracle.com/libtiff/help/add-custom-tiff-tags-to-an-のサンプルに示すように、既存の TIFF 画像のいくつかのカスタム ASCII タグの値を変更しようとしています。既存の tiff-image.aspx

変更には基本的に、既存のタグの文字列への追加、または存在しなかったカスタム タグの追加が含まれます。

ただし、新しいタグを追加すると、LibTiff は既存のディレクトリを変更するのではなく、画像の最後にまったく新しいディレクトリを追加するように見えます。これを WinHex で検証し、WriteDirectory、CheckpointDirectory などのいくつかの異なるアプローチも試しました。ファイルは追加のために開かれています。

重複したディレクトリは、画像を処理しなければならない別のプログラムで問題を引き起こします。

既存のディレクトリを更新する方法はありますか? または、ファイル全体を書き直す必要がある場合は、その方法を教えてください。ファイルが書き換えられた場合、保持する必要がある他のカスタム タグがあります。

0 投票する
2 に答える
2416 参照

libtiff - tiff-3.8.2 のインストール中にエラーが発生しました

0 投票する
1 に答える
1304 参照

linux - TIFFOpen: 開いているファイルが多すぎます

ASTER データ セットから geotiff を開こうとしていますが、エラーが表示され、それを理解できませんでした。これが私のコードです:

私は次のようにコンパイルしています:

これは私が得る出力の一部です:

2 番目のメッセージが数百回繰り返されます。

その後数百回表示されます。

read() が 1 回呼び出されているのに、なぜ 700 個の奇数のプリントが得られるのですか?

私はDebianを実行しています、私はチェックしました

誰もこのファイルを開いていません。

ここの提案にも従いました: https://stackoverflow.com/a/9012019/1877851

私はまだ同じエラーを受け取ります。どうしたの?

0 投票する
1 に答える
1215 参照

c# - ビットミラクルのLibTiff.Netで解像度変更

Bit Miracle の LibTiff.Net を使ってスキャンした画像を tiff ファイルに変換しているのですが、300dpi でスキャンした画像でも 200dpi で保存したい Bit Miracle サイトのサンプルで見つけました

しかし、解像度を常に 200dpi に設定するためにこの変更を行います。

tifファイルのプロパティでは200dpiと書いてありますが、ファイルサイズは変更前後で163コ変わらず、

コードで使用されているすべての解像度を検索し、200 にしますが、常に同じファイル サイズにします。

値を変更するSetFieldと、ファイルプロパティで取得しましたが、画像の解像度では取得しませんでした(すべての解像度テストで常に同じサイズです)

宛先 tif の解像度を変更するにはどうすればよいですか?

0 投票する
1 に答える
1966 参照

c - TIFF 画像: 16 ビット RGBA 画像ピクセルはどのようにインターレースされますか?

チャンネルごとに 16 ビットの RGBA TIFF 画像を C 言語で処理しようとしていますが、仕様で 16 ビット画像に関する多くの情報を見つけることができませんでした。

チャンネルあたり 8 ビットの RGBA 画像の場合、ピクセルは uint32 として格納され、32 ビットを 8 ビットの 4 つのグループ (R、G、B、A) にグループ化することでインターレース解除できることを理解しています。次に、チャネルごとに 8 ビットの RGBA 画像を処理するために、次のことを行っています (ここに同封のソース コードも参照してください)。

  1. 画像データを uint32 タブ (TIFFReadRGBAImageOriented を使用) として保存します。data_tiff
  2. 次のコマンドを使用してピクセルのインターレースを解除します: (uint8) TIFFGetR(*data_tiff)(uint8) TIFFGetG(*data_tiff)(uint8) TIFFGetB(*data_tiff)&(uint8) TIFFGetA(*data_tiff)

チャンネルあたり 16 ビットの RGBA 画像の場合、ピクセルのインターレースを解除する方法を教えてください。画像データを uint64 タブとして取得できれば、次のことができます。

  1. 画像データを uint64 タブとして読み込みます
  2. (uint16) TIFF16GetR(*data_tiff)(uint16) TIFF16GetG(*data_tiff)(uint16) TIFF16GetB(*data_tiff)&を使用してピクセルをインターレース解除します(uint16) TIFF16GetA(*data_tiff)

しかし、データはuint64タブにネイティブに保存されていないように見えるので、チャンネルごとに16ビットの画像をどのようにuint32ピクセルタブにインターレースするのだろうか.

また、16ビットのグレースケール画像を同じ方法で処理するのも困難です(TIFFReadRGBAImageOriented画像データを取得し、各ピクセルをuint16に変換しようとしています)

より一般的に言えば、16 ビットのグレースケールおよびカラー画像に関するドキュメントはありますか?

よろしくお願いいたします。

レミー A.

0 投票する
1 に答える
1306 参照

visual-studio-2010 - libtiff のリンク - LNK2001: 外部シンボル TIFFOpen を解決しない

64 ビット マシンで MSVS 2010 を使用しています。セットアップ ファイルを使用して tiff ライブラリ バージョン 3.8.2 をインストールし、プロジェクト プロパティ シートを変更しました。リンカー - *\GnuWin32\lib、入力 - libtiff.lib。しかし、MSVS 2010 ではまだリンカー エラーが表示されます。

LNK2001: 未解決の外部シンボル TIFFOpen
LNK2001: 未解決の外部シンボル TIFFGetField
LNK2001: 未解決の外部シンボル TIFFIsTiled

(私のソースファイルの関数呼び出しのため)。

インクルードディレクトリを環境変数パスにも追加しようとしましたが、役に立ちませんでした。libtiff Web サイトで説明されているように、tiff-4.0.3.zip もダウンロードし、コマンド プロンプトからライブラリをビルドしました。それに応じてプロジェクト プロパティ シートを更新しました。リンカー - *\libtiff、入力 - libtiff.lib、libtiff_i.lib。libtiff.dll を *\Windows\system および *\Windows\system32 ディレクトリにコピーし、*\libtiff ディレクトリを環境変数パスに追加しました。それでも、MSVS 2010 でも同じエラーが発生します。

私はオンラインで検索しましたが、誰もそのような問題を抱えていないようです。または、さまざまなライブラリで同様の問題を抱えている人のために、解決策は私が上でやろうとしたことです. 私は今これにほぼ2日を費やしており、解決策が切望されています. 助けてください!