我只是试图在Ubuntu版本中使用OpenCV
在Qt
中测试一些方法,而且我遇到了一些我遇到困难的编译器问题。
Mat imageSpecularReflectorRemoved ,edgesImage;
Mat img_object = imread(patternImageName);
removeSpecuralReflector(img_object,imageSpecularReflectorRemoved);
applyLaplacian(img_object, edgesImage);
std::vector <cv::Mat> listOfImagesToDisplay;
listOfImagesToDisplay.push_back(img_object);
listOfImagesToDisplay.push_back(imageSpecularReflectorRemoved);
listOfImagesToDisplay.push_back(edgesImage);
ImagesUtility imgUtil;
cv::Mat fullImage = imgUtil.makeCanvas(listOfImagesToDisplay,400,1);
这里是ImagesUtility类(.h文件)的接口文件
class ImagesUtility
{
public:
ImagesUtility();
cv::Mat makeCanvas(std::vector<cv::Mat> vecMat, int windowHeight, int nRows);
};
这是ImagesUtility类的cpp文件
ImagesUtility::ImagesUtility()
{
}
cv::Mat makeCanvas(std::vector<cv::Mat> vecMat, int windowHeight, int nRows)
{
return canvasImage;
}
编译错误是:
知道这里发生了什么吗?
感谢。
答案 0 :(得分:5)
尝试
cv::Mat ImagesUtility::makeCanvas(std::vector<cv::Mat> vecMat, int windowHeight, int nRows)
{
return canvasImage;
}
答案 1 :(得分:1)
上周我遇到了同样的问题。您应该将ImagesUtility::
添加到cpp文件中的makeCanvas
方法。