OpenCV convertTo慢

时间:2012-12-14 19:51:41

标签: c++ performance image-processing opencv

我有一张cv::Mat fooImage {* 1}}格式的1000 * 1000像素。

现在我要显示图像,我使用

CV_32F

然而,这条线只需要5ms左右。这是正常的??如何快速将fooImage.convertTo(displayImage,CV_8UC1) Mat图像转换为CV_32F

谢谢!

1 个答案:

答案 0 :(得分:2)

这听起来很慢但是convertTo()可能不会特别选择使用SSE2或任何东西。

你正在从RAM中读取4Mb,分配1Mb,执行4Million浮点运算并将1Mb写回RAM,因此毫秒不是不合理的。

您可以编写一个简单的循环,通过简单地将每个值乘以255.0来将图像数据转换为uchar

您是否包括显示图像的时间?你正在创建一个仍然是8位灰度的“displayImage”,在显示时必须将其转换为RGB或RGBA图像