我有一张cv::Mat
fooImage
{* 1}}格式的1000 * 1000像素。
现在我要显示图像,我使用
CV_32F
然而,这条线只需要5ms左右。这是正常的??如何快速将fooImage.convertTo(displayImage,CV_8UC1)
Mat图像转换为CV_32F
?
谢谢!
答案 0 :(得分:2)
这听起来很慢但是convertTo()可能不会特别选择使用SSE2或任何东西。
你正在从RAM中读取4Mb,分配1Mb,执行4Million浮点运算并将1Mb写回RAM,因此毫秒不是不合理的。
您可以编写一个简单的循环,通过简单地将每个值乘以255.0来将图像数据转换为uchar
您是否包括显示图像的时间?你正在创建一个仍然是8位灰度的“displayImage”,在显示时必须将其转换为RGB或RGBA图像