opencv函数cvcvtcolor和cvtcolor有什么区别

sa1*_*991 0 c++ opencv

我是c ++编码的新手.你能告诉我opencv function cvcvtcolor和cvtcolor有什么区别?

谢谢

Kir*_*ran 8

除了它cvCvtColor是一个简单的包装器之外没有区别cvtColor.

  1. cvCvtColor是C API - 已弃用.
  2. cvtColor是C++ API - 推荐.

从opencv source (1) 你可以看到C API cvCvtColor是C++的包装器cvtColor,可以进行实际的转换等RGB2GRAY.

CV_IMPL void cvCvtColor( const CvArr* srcarr, CvArr* dstarr, int code )
{
    cv::Mat src = cv::cvarrToMat(srcarr), dst0 = cv::cvarrToMat(dstarr), dst = dst0;
    CV_Assert( src.depth() == dst.depth() );

    cv::cvtColor(src, dst, code, dst.channels());
    CV_Assert( dst.data == dst0.data );
}
Run Code Online (Sandbox Code Playgroud)