1
私はPythonで16ビットTIFFイメージ(26446 x 16688)を読み込もうとしています。 OpenCVのを使用すると、ブラックのみの画像読み込みで(すべての強度を0読み込み):OpenCV - Pythonで16ビットTIFFイメージを読む(センチネル1データ)
self.img = cv2.imread(self.filename, cv2.IMREAD_UNCHANGED)
は、OpenCVの16ビットまたは大きな画像(〜840メガバイト)を処理することはできますか?回避策はありますか?
編集: cv2.imshow("output", self.img[0:600])
は黒い画像を表示します。
** InageMagick **の 'identify'コマンドを実行して、TIFF内のディレクトリの最小/最大/平均/数を調べてみてください。ほとんどのLinuxにインストールされています。あなたは 'identify-verbose YourImage.tif'を指定したい –
私は16ビットのTIFFファイルを小さくしてもOKです(' imshow'でも正しく表示されますが、8ビットに切り詰められているかもしれません - '34067,34983,35287')。 、dtype = uint16) ' - これは私のイメージがどのように終わるか(' cv2.IMREAD_UNCHANGED'なしでロードすると137,137,137)です。黒い画像をロードしているか、または実際の範囲が正確に16ビットではない(たとえば12ビットで、8ビットシフトするとほとんどゼロが生成されます)。画像のサイズ、または正しく動作します。画像を2の倍数で乗算するか、表示する前に正規化(ストレッチコントラスト)してみてください。または最初の600行は黒です... –