批量处理一个文件夹里面的所有图片转换为灰度图片

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; 
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值