對於此功能其實很簡單:主要是在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\n", 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 }