'cvSmooth':找不到标识符

时间:2014-03-23 12:28:53

标签: c++ opencv

我正在尝试使用cvSmooth函数来平滑图像但是当我运行程序时出现错误!  我的代码是:

using namespace std;
using namespace cv;

int main(){
IplImage* img ;
img = cvLoadImage ("c:\\try.png");
cvSmooth( img, img, CV_GAUSSIAN,11,11);
cvShowImage("",img);
cv::waitKey( 15000 ) ;
return 0;
};

错误列表是: 错误C2065:'CV_GAUSSIAN':未声明的标识符 错误C3861:'cvSmooth':找不到标识符

1 个答案:

答案 0 :(得分:0)

Rule1 - 不要使用过时的c-api

拜托,忘了它,它已经死了,不见了。

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp> 

int main()
{
  cv::Mat img = cv:imread("c:\\try.png");

  cv::Mat blurred;
  // see [docs](http://docs.opencv.org/modules/imgproc/doc/filtering.html#gaussianblur)
  cv::GaussianBlur(img,blurred(cv::Size(11,11),0); 
  cv::imshow("lala", blurred);
  cv::waitKey();
  return 0;
}