我想在一个3通道的opencv矩阵中合并3个单色相机图像。我可以通过以下方式尝试:
cv::Mat merged;
std::vector<cv::Mat> channels[3];
while(1){
channels[0]=Camera1->getNextFrameSWTrig(); //give back frame_time and frame_num
channels[1]=Camera2->getNextFrameSWTrig(); //give back frame_time and frame_num
channels[2]=Camera3->getNextFrameSWTrig();
cv::merge(channels, merged);
(*buffer).push_back(merged.clone());
}
但是出现以下错误消息:
在OpenCV文档中,我发现:
最佳答案
用
std::vector<cv::Mat> channels[3];
^ ^
您要创建一个包含3个
std::vector
的数组,而您想要一个包含3个元素的std::vector
:std::vector<cv::Mat> channels(3);
^ ^
关于c++ - 没有与cv::merge匹配的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53206658/