OpenCV 函数cvtColor转换矩阵的颜色空间(例如从 RGB 到灰度)。该函数的 C++ 签名是
void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )
可以使用此函数将矩阵转换到位,即与src
相同的对象dst
吗?
cv::Mat mat = getColorImage();
cvtColor(mat, mat, CV_RGB2GRAY);
(我知道无论哪种方式,由于目标的通道数与源的通道数不同,它仍然需要为目标分配一个新的内存块。)
更一般地说,OpenCV API 中是否有一个约定来确定何时可以以这种方式使用函数?