1

cv::Mat fooImage1000*1000ピクセルのCV_32Fフォーマットの画像が1つあります。

今、私は画像を表示したい、私は使用します

fooImage.convertTo(displayImage,CV_8UC1)

ただし、この回線だけで約5msかかります。これは正常ですか?CV_32Fマット画像をすばやく変換するにはどうすればよいCV_8UC1ですか?

ありがとう!

4

1 に答える 1

2

それは遅いように聞こえますが、おそらく convertTo() は SSE2 などを使用するように特に最適化されていません。

RAM から 4Mb を読み取り、1Mb を割り当て、400 万回の浮動小数点操作を実行し、1Mb を RAM に書き戻すので、1 ミリ秒は不合理ではありません。

各値に 255.0 を掛けるだけで、画像データを uchar に変換する単純なループを自分で作成できます。

画像を表示する時間を含めていますか?まだ 8 ビット グレースケールの「displayImage」を作成しています。これは、表示時に RGB または RGBA 画像に変換する必要があります。

于 2012-12-14T21:15:44.253 に答える