对于此功能其实很简单:主要是在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中读取图片 19IplImage * img = cvLoadImage( buffer);20 21//拼接灰度图存储路径22sprintf (buffer1, "pos\\%d.jpg", i);23 24if(!img) 25{ 26 //fprintf(stderr, "Can not load image %s\n", imagename); 27 return -1; 28} 29 30// 检查是否正确载入图像 31if( !img->imageData )32 return -1; 33 34//创建目标图像 35IplImage* img1 = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); 3637//图像灰度化38cvCvtColor(img,img1,CV_BGR2GRAY);39 40//保存灰度图像到指定路径41cvSaveImage(buffer1, img1, 0);42 }43 44cvWaitKey(); 45return 0; 46 47 }