opencv を使用して tif ファイルをトリミングしています。画像をファイルに保存することを除いて、すべて問題ありません。opencv は常に LZW 圧縮を使用しますが、結果のファイルを圧縮する必要はありません。 、しかし今はそれを行う適切な時期ではありません。
特定の圧縮スキーム(圧縮なしを含む)またはなしでtifファイルを保存する方法はありますか?
元の画像には圧縮スキームが適用されておらず、ROI を使用して領域を選択し、SaveImage を使用してターゲット ファイルに保存しています。どんな助けでも大歓迎です!
質問する
2240 次
2 に答える
5
OpenCV 3 では、パラメーターのベクトルを指定して、次のように、圧縮やストリップごとの行などを変更できます。
vector<int> params = {
259, 1, // No compression, turn off default LZW
279, 64 // Rows per strip
};
imwrite("image.tiff", myImage, params);
于 2015-12-09T18:28:08.177 に答える
3
TIFF圧縮レベルはハードコーディングされており、実行時に変更することはできません。マシンでOpenCVをコンパイルしている場合は、このファイルの圧縮レベルを編集できます
3rdparty/libtiff/tiff.h
あなたはこの行を見つけるでしょう:
#define COMPRESSION_LZW 5 /* Lempel-Ziv & Welch */
お役に立てば幸いです。
編集:opencvコードの次の行を参照してください: https ://github.com/Itseez/opencv/blob/b46719b0931b256ab68d5f833b8fadd83737ddd1/modules/imgcodecs/src/grfmt_tiff.cpp#L564 COMPRESSION_NONE。
于 2012-04-18T09:42:10.627 に答える