图像图片批量读取并保存某一文件夹下图片的像素值

时间紧张,先记一笔,后续优化与完善。

    功能介绍:对文件夹下的图片存储指定坐标点的像素值至txt文件中~

    每日一道理
记不清有多少个夜晚,在我翻阅纸张的指间滑落;记不清有多少支蜡烛,在我的凝视中化为灰烬。逝者如斯,我时时刻刻会听见自己对生命承诺的余音,感到岁月的流转在渐渐稀释我的年少无知,我愿自己是一只上足了发条的时钟,在昼夜不停的流转中留下自己充实的每一刻。
// 存储文件夹下图片RGB值至文本中.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
#include"stdlib.h"   //system须要调用这个
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include <string>
#include<windows.h>
#include <WinBase.h>
#include <ctime>
#include "highgui.h" 
#include <iostream>
#include <fstream>
#include <ml.h>     
using namespace std;
int main( int argc, char** argv )
{
	int image_id = 1;
	char filename[256];
	char filename2[256];
	char winname[256];
	IplImage *image=0,*imageresize=0;  
	sprintf(filename , "D:\\My Documents\\Visual Studio 2008\\Projects\\存储文件夹下图片RGB值至文本中\\截图\\%d.bmp" , image_id );
	IplImage* img = cvLoadImage(filename);
	ofstream fout("Bmat.txt");  /* 保存样本 */
    CvScalar s;
	cout<<"\n 开始保存咯\n";
	int q=0;
  
	while(img)
	{
	
	sprintf(winname , "D:\\My Documents\\Visual Studio 2008\\Projects\\存储文件夹下图片RGB值至文本中\\截图\\%d.bmp" , image_id );
	IplImage* img = cvLoadImage(winname);
	 CvScalar s;
	 if (!img)//若无此步,会在最后一个循环时由于下一句的img变量不存在而报错!
		 break;//若无此步,会在最后一个循环时由于下一句的img变量不存在而报错!
	 s=cvGet2D(img,3,19); //获得src图像中坐标为(i,j)的像素点的值
	 //s.val[0] 代表src图像BGR中的B通道的值~
	 fout<<s.val[0];
	 fout<<"\t";
	 fout<<s.val[1];
	 fout<<"\t";
	 fout<<s.val[2];
	 fout<<"\t";
	 fout<<"1\n";
     cvSet2D(img,3,19,s);       //set the (i,j) pixel value
	 q++;

	    s=cvGet2D(img,6,19); //获得src图像中坐标为(i,j)的像素点的值
     //s.val[0] 代表src图像BGR中的B通道的值~
	 fout<<s.val[0];
	 fout<<"\t";
	 fout<<s.val[1];
	 fout<<"\t";
	 fout<<s.val[2];
	 fout<<"\t";
	 fout<<"1\n";
     cvSet2D(img,6,19,s);       //set the (i,j) pixel value
	 q++;

	    s=cvGet2D(img,5,25); //获得src图像中坐标为(i,j)的像素点的值
     //s.val[0] 代表src图像BGR中的B通道的值~
	 fout<<s.val[0];
	 fout<<"\t";
	 fout<<s.val[1];
	 fout<<"\t";
	 fout<<s.val[2];
	 fout<<"\t";
	 fout<<"1\n";
     cvSet2D(img,5,25,s);       //set the (i,j) pixel value
	 q++;
	 cvReleaseImage(&img);
	image_id++;
	sprintf(filename , "D:\\My Documents\\Visual Studio 2008\\Projects\\存储文件夹下图片RGB值至文本中\\截图\\%d.bmp" , image_id );
	}
	
		
		
	
	cout<<"\n 保存终了! \n";
	cout<<"矩阵一共有"<<q<<"行"<<'\n';
	system("PAUSE");  
}

文章结束给大家分享下程序员的一些笑话语录: 程序员打油诗   
  写字楼里写字间,写字间里程序员;
  程序人员写程序,又拿程序换酒钱。
  酒醒只在网上坐,酒醉还来网下眠;
  酒醉酒醒日复日,网上网下年复年。
  但愿老死电脑间,不愿鞠躬老板前;
  奔驰宝马贵者趣,公交自行程序员。
  别人笑我忒疯癫,我笑自己命太贱;
  不见满街漂亮妹,哪个归得程序员。

--------------------------------- 原创文章 By 图像和图片 ---------------------------------

posted @ 2013-05-23 22:22  坚固66  阅读(636)  评论(0编辑  收藏  举报