我收到以下错误“无法将 cv::Mat 转换为 constCvArr”。这是代码。
任何人都可以在这种情况下提供帮助 错误的原因是什么?我怎么能纠正它。
#include "stdafx.h"
#include "opencv2\calib3d\calib3d.hpp"
#include <opencv2\core\core.hpp>
#include "opencv2\imgproc\imgproc.hpp"
#include "opencv2\highgui\highgui.hpp"
#include <stdio.h>
using namespace cv;
Mat src_gray;
int _tmain(int argc, _TCHAR* argv[])
{
char *str1=(char *)malloc(500);
int nums=20;
for(int iter=0;iter<nums;iter++)
{
sprintf(str1,"training1//image%d.png",iter);
Mat img=imread(str1);
cvtColor(img,src_gray,CV_BGR2GRAY);
cv::Mat output = cv::Mat::zeros(img.rows,img.cols,img.type());
threshold(src_gray,output,128,255,THRESH_OTSU | THRESH_BINARY_INV);
char *out=(char *)malloc(500);
sprintf(out,"out%d.png",iter);
cvSaveImage(output,out);
namedWindow("threshold",1);
imshow("threshold",output);
waitKey(0);
return 0;
}
}