今天調試程序,發現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