http://www.cfanz.cn/?a=read&c=article&id=260521
找了很久,很多文章的函数都还是之前版本的,所以总调试不成功,看了这篇文章才调通,以下就是我调用的函数
#include"stdafx.h"
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main() {
Mat colorImage;
char colorImageSrc[100] = "C:\\Users\\user\\Desktop\\pos\\1.png"; //第一张图片的位置
int i = 1;
char *dest = "C:\\Users\\user\\Desktop\\pos\\%d.png"; // %d应该是之后代替i的位置吧
while(colorImageSrc)//直到显示完所有图片
{
colorImage = imread(colorImageSrc,1);
if(!colorImage.data)
{
cout<<"error"<<endl; return -1;
}
imshow("colorImage",colorImage);
Mat im1;
cvtColor(colorImage,im1,CV_BGR2GRAY); //转换为灰度图片的函数
imwrite (colorImageSrc,im1); //替换原先的彩色图片
/ ///使用sprintf函数 /
sprintf_s(colorImageSrc,dest,i);
cout<<colorImageSrc<<endl; //这句可以去掉的
i++; //此处需要waiKey()
waitKey(10); //这里的时间有时处理会出现图片没处理 就跳过去了
}
waitKey();
system("pause");
return 0;
}