1

アプリケーションを matlab から C++ に書き直しています。問題はこの行にあります

imagesc(proj_data.log_P0,m+s*[-3,3])

proj_data.log_P0 は float 値を持つマトリックスなので、C++ と OpenCV で行ったことは、そのマトリックスを OpenCV が表示できる値 (0 から 1 の範囲) に正規化することです。その部分は機能していますが、問題を引き起こしている部分はclims (太字) の部分 imagesc(proj_data.log_P0, m+s*[-3,3] ) です。clims の部分がカラーマップの範囲を変更していることを理解したので、OpenCV でこれを行う方法はありますか? グレースケール画像です。

4

1 に答える 1

1

解決策を見つけました。正規化を行う前に、m+s*3 より大きいすべての行列要素を見つけて m+s*3 に変更し、m+s*-3 より小さいすべての要素を m+s*-3 に変更しました。 . 行列要素でこれを行った後、0 から 1 の範囲に正規化を行いました。clims を使用した MATLAB の imagesc と同じ結果です。

于 2013-06-30T21:29:53.053 に答える