13

私はOpenCVに比較的慣れていないので、問題に遭遇しました。入力画像があり、タイプ CV_8U から CV_32F に変換したいと考えています。

一部の画像では問題なく動作しますinput.convertTo(output, CV_32F)が、他の画像出力では完全に白い画像しか得られません。

チャンネル数、ディムは深度と同じです。何が問題ですか?

4

1 に答える 1

20

結果は普通だと思います。

convertToCV_8U1 から CV32F1 まで使用すると、ピクセル値、たとえば 255 は 255.0 になります。しかし、結果の画像を「imshow」しようとすると、コマンドはすべてのピクセル値が 0.0 から 1.0 の間であると想定します。そのため、画像を再スケーリングしないと、画像はすべて白く見えます。

zzzが指摘したように、これはトリックを行います(ありがとう)。

input.convertTo(output, CV_32F, 1.0/255.0)
于 2012-10-12T02:20:14.527 に答える