私はtifファイルを切り抜くためにopencvを使用していますが、画像はファイルに保存する以外は問題ありません。-opencvは常にLZW圧縮を使用しますが、結果ファイルに対して圧縮は必要ありません。私のディスクドライブのスペースが、今はそれを行うための適切な時期ではありません。
特定の圧縮方式(圧縮を含まない)または非圧縮形式のtifファイルを保存する方法はありますか?
元画像には圧縮方式が適用されていません。領域を選択するにはROIを使用し、ターゲットファイルに保存するにはSaveImageを使用しています。どんな助けにも感謝!opencvでTIFFファイルを保存するときに特定の圧縮方式を設定する方法はありますか?
2
A
答えて
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含むTIFFTAG_COMPRESSIONの目標値を、渡すことができるはずです。 OpenCVの3で
3
あなたはのように、圧縮またはストリップあたりの行のようなものを変更するには、パラメータのベクトルを供給することができます:
vector<int> params = {
259, 1, // No compression, turn off default LZW
279, 64 // Rows per strip
};
imwrite("image.tiff", myImage, params);
+0
残念ながら、CCITTG4のtiffイメージを保存することはできません。おそらく、Matが少なくとも8ビットの行列であるからでしょう。 – Xvolks
関連する問題
- 1. System.IO.Compression.GZipStreamを使用するときに圧縮のレベルを設定する方法はありますか
- 2. OpenCV Javaを使用して画像を圧縮して特定のフォルダに保存する方法
- 3. XMLフォーマット設定をプロジェクトに保存する方法とワークスペースを保存する方法はありますか?
- 4. Canvas.toDataUrl()を呼び出すときにGIF RLE圧縮を設定する方法はありますか?
- 5. 保存しないときにビットマップを圧縮する方法
- 6. 設定ファイルにアプリケーション設定を保存する方法は?
- 7. dynetでは、モデルを圧縮ファイルに保存できますか?
- 8. ディレクトリを1つのファイルに圧縮する方法はありますか?
- 9. 保存する前にWebカメラからビデオを圧縮する方法はありますか?
- 10. csvファイルを特定のパスに保存する方法は?
- 11. 画像を特定のサイズに縮小する方法はありますか?
- 12. .NETでTIFFをPARGB32形式で保存する方法
- 13. Keyboard.FocusedElementを特定の要素に設定する方法はありますか?
- 14. アプリケーションの設定をファイルに保存する方法は?
- 15. イメージを圧縮して特定のファイルサイズの制限を下回る方法はありますか? PHPで画像を圧縮する
- 16. WIA:ファイルを保存するときに圧縮なし
- 17. URLからs3の特定のフォルダにファイルを保存する方法はありますか?
- 18. 特定の速度で縮尺を変える方法はありますか?
- 19. ファイルの任意のポイントで圧縮解除を許可する圧縮形式はありますか?
- 20. r:readr:write_csvファイルを圧縮する方法は?
- 21. 特定の入力方法をファイルに設定する方法
- 22. Laravelに設定ファイルを正しく保存する方法は?
- 23. 回転ビットマップを圧縮せずに特定のファイルに書き込む方法
- 24. 圧縮イメージファイル形式を非圧縮イメージファイル形式に変換する方法
- 25. ファイルをicloudに保存する方法はありますか?
- 26. 圧縮ヘッダーを設定し、圧縮してヘッダーを圧縮しますか?
- 27. ファイル内の特定のバイトを0または1に設定する方法はありますか?
- 28. カード内のボタンをクリックすると、特定の添付ファイルを特定する方法はありますか?
- 29. 設定を定数に簡単に保存する方法は?
- 30. Outlookで日付を書式設定するときにロケールを強制する方法はありますか?
MEH、これは良いではない、私は一日か二日でそれをチェックアウトします私は今すぐソースをダウンロードする機会がないので、時間がかかります。ありがとう! – cookieMonster
@fireant、あなたは、OpenCVソースでハードコーディングされた圧縮方法をどこで変更するべきか知っていますか?あなたが言及した '3rdparty/libtiff/tiff.h'はlibtiff自体の一部であり、' #define COMPRESSION_CCITT_T6 4/* CCITT T.6(TIFF 6 name)*/'を含む様々な圧縮メソッドの定義を含んでいます。だから実際には、OpenCVのどこでこれらの定義がハードコード化されているかを知る必要があります。 –
@ alexander-abakumov私は答えを更新しました。それがあなたが探しているものかどうかを見てください。 – fireant