opencv下指定文件夹下的图片灰度化(图片的读取与保存)-------简单记录

对于此功能其实很简单:主要是在c++方面的字母+数字的拼接问题存在一定的问题。C++数字字母拼接问题:

 1 #include <fstream>  
 2 #include <string>  
 3 #include <iostream> 
 4 #include "highgui.h"  
 5 #include <cv.h>  
 6 #include <cvaux.h> 
 7 using namespace std;  
 8 using namespace cv;
 9 
10 int main(){
11   char buffer [50];
12   char buffer1 [50];
13   
14   for(int i=16;i<35;i++){
15      //将数字字母拼接在一起得到读取文件的路径
16       sprintf (buffer,  "C:\Users\Acer\Desktop\新建文件夹\%d.jpg", i);
17 
18      //从指定路径buffer中读取图片 
19      IplImage * img = cvLoadImage( buffer);
20 
21     //拼接灰度图存储路径
22      sprintf (buffer1,  "pos\%d.jpg", i);
23 
24      if(!img)  
25      {  
26            //fprintf(stderr, "Can not load image %s
", imagename);  
27            return -1;  
28      }  
29   
30      // 检查是否正确载入图像  
31      if( !img->imageData )
32            return -1;  
33   
34      //创建目标图像 
35      IplImage* img1 = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); 
36     
37     //图像灰度化
38     cvCvtColor(img,img1,CV_BGR2GRAY);
39 
40     //保存灰度图像到指定路径
41      cvSaveImage(buffer1, img1, 0);
42   }
43   
44      cvWaitKey();   
45      return 0;  
46 
47 }