将Mat转换为不同类型的自身是否安全?

时间:2016-04-24 07:23:37

标签: c++ opencv

假设我想将Mat用作float。可以编译以下代码而不会出错。但是,这样做是否安全?

Mat im = imread('test.jpg', CV_LOAD_IMAGE_GRAYSCALE);
im.convertTo(im, CV_32F1);

我想这样做是因为它写得更紧凑,否则我需要创建一个临时的Mat

Mat::convertTo()的{​​{3}}并未提供有关该功能的内存使用情况的详细信息。

1 个答案:

答案 0 :(得分:1)

当使用inplace调用时,mat :: convertTo函数应该是安全的(即相同的输入和输出Mat对象)。

According to OpenCV DevZone,这个函数在使用inplace调用时确实有一个错误,但几年前就已经修复了。