我试图在OpenCV 2.3.1中将1通道图像(16位)转换为3通道图像.我在使用合并功能时遇到问题并收到以下错误:
Mat temp, tmp2;
Mat hud;
tmp2 = cv_ptr->image;
tmp2.convertTo(temp, CV_16UC1);
temp = temp.t();
cv::flip(temp, temp, 1);
resize(temp, temp, Size(320, 240));
merge(temp, 3, hud);
Run Code Online (Sandbox Code Playgroud)
错误:没有匹配函数来调用'merge(cv :: Mat&,int,cv :: Mat&)'
谁能帮我这个?提前致谢!
vol*_*ing 13
如果temp
是要转换为3个通道的1通道矩阵,则以下内容将起作用:
cv::Mat out;
cv::Mat in[] = {temp, temp, temp};
cv::merge(in, 3, out);
Run Code Online (Sandbox Code Playgroud)
查看文档以获取更多信息.
看起来你的使用方式不太merge
正确。您需要指定所有要“合并”的通道。我认为你想要一个三通道框架,所有通道都相同,在 Python 中我会这样写:
cv.Merge(temp, temp, temp, None, hud)
Run Code Online (Sandbox Code Playgroud)
来自 opencv文档:
cvMerge:由多个单通道数组组成多通道数组或将单个通道插入数组中。
归档时间: |
|
查看次数: |
15775 次 |
最近记录: |