c++ opencv resize遇到的问题

今天调试程序,发现c++ opencv resize调用时存在的一个坑,赶紧填起来。

从resize定义来看:

CV_EXPORTS_W void resize( InputArray src, OutputArray dst,
                          Size dsize, double fx = 0, double fy = 0,
                          int interpolation = INTER_LINEAR );

除了前面三个参数是必须的,后面三个都可以空着。

但是再真正使用时就遇到了坑,赶紧填起来给后面的人指路。

cv::resize(m_mask_res, mask_res_resized, cv::Size(width, height),  cv::INTER_NEAREST);

上面的这种调用虽然可以得到结果,但是结果不是你期待的结果。

cv::resize(m_mask_res, mask_res_resized, cv::Size(width, height), 0, 0, cv::INTER_NEAREST);

添加上省略掉的参数就可以得到正确的结果了。

参考:https://www.cnblogs.com/rainsoul/p/10655728.html

原文地址:https://www.cnblogs.com/juluwangshier/p/13409615.html