cmd窗口出现报错:
OpenCV(4.5.5) Error: Assertion failed (mv[i].size == mv[0].size && mv[i].depth() == depth) in cv::merge, file C:\opencv\OpenCvFiles\sources\modules\core\src\merge.dispatch.cpp, line 129
VS页面下报错:
函数第129行出错,即merge函数出错了。 试了修改merge函数的输入输出格式(均为Mat),没用。
设置断点,查看前面步骤的输出结果,发现merge无有效输入。问题出在自定义核函数运行完后,把运行结果图像(格式float*)复制回主机内存(格式Mat)出错。在复制前,必须给定义的主机内存(格式Mat)设置好大小,如
Mat h_dst(***.size(),CV_8UC1));
这样才会成功将数据复制回主机。
随后重新运行,merge未报错。