未定义标识符filter2D

正在学习《opencv2计算机视觉编程手册》;

编写了一段代码,显示“未定义标识符filter2D”;

问题在于我 没有包含 含有定义filter2D的头文件——#include

修正后的代码如下:

#include
#include
#include
#include

using namespace cv;
using namespace std;

void sharpen2D(const Mat &image,Mat &result){
	Mat kernel(3,3,CV_32F,Scalar(0));

	kernel.at(1,1) = 5.0;
	kernel.at(0,1) = -1.0;
	kernel.at(2,1) = -1.0;
	kernel.at(1,0) = -1.0;
	kernel.at(2,0) = -1.0;

	filter2D(image,result,image.depth(),kernel);
}

int main(void){
	Mat image = imread("1.jpg",0);
	Mat result;
	result.create(image.size(),image.type());

	sharpen2D(image,result);
	namedWindow("sharpenPic");
	imshow("sharpenPic",result);
	waitKey(0);

	return 0;
}


你可能感兴趣的:(opencv,图像处理,opencv,图像处理,C++学习笔记)