我正在尝试将3通道图像更改为4通道,如下所示:
cv::VideoCapture video; video.open("sample.avi"); cv::Mat source; cv::Mat newSrc; int from_to = { 0,1,2,3,3 }; for ( int i = 0; i < 1000; i ++ ) { video >> source; cv::mixChannels ( source,newSrc,from_to,4 ); }
然后我得到了
too many input arguments in function call
对于“mixChannel”行.此外,我不知道我是否正确地给出论据我的目标.有人能帮我吗?谢谢.
解决方法
您可以将3通道图像转换为4通道,如下所示:
cv::Mat source = cv::imread(path); cv::Mat newSrc(source.size(),CV_MAKE_TYPE(source.type(),4)); int from_to[] = { 0,3 }; cv::mixChannels(&source,&newSrc,4);