⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 face recognition using hmm. first version.
💻 CPP
字号:
#ifdef _CH_
#define WIN32
#error "The file needs cvaux, which is not wrapped yet. Sorry"
#endif

#ifndef _EiC
#include "cv.h"
#include "highgui.h"

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <direct.h>
#endif

using namespace std;

#ifdef _EiC
#define WIN32
#endif

int main( int argc, char** argv )
{
    IplImage *img, *gray, *gray1;
    const char *dir;
	char filename[255];
	char dirname[255];
	const char *prefix;
	int  num=0, i,j,k;
	int c;
	FILE *fp;
	int w, h;

    dir = argc > 1 ? argv[1] : 0;
	prefix = argc > 2? argv[2]: 0;
	num = argc > 3? atoi(argv[3]) : 0;

	cvNamedWindow("image", 1);
	if(dir && prefix){
		cout<<"Processing:";
		//for(i=0; i<num; i++){
			//cout<< i << "...";
			//sprintf(filename, "%s\\%s%03d.jpg", dir, prefix,i);
			sprintf(filename, "c:\\bryan000.pgm");
			printf("filename:%s\n", filename);
			//img = cvLoadImage(filename, 1); //force to grayscale
			//gray = cvCreateImage(cvSize(img->width, img->height),IPL_DEPTH_8U,1); // gray scale holder
			gray = cvLoadImage(filename,0);
			//cvCvtColor(img, gray, CV_BGR2GRAY);	
			cvShowImage("image", gray);
			printf("image: %dx%d\n", gray->width, gray->height);
			//cvWaitKey(0);
			//write to file
  
			//sprintf(dirname, "%s\\output", dir);
			//_mkdir(dirname);
			//sprintf(filename, "%s\\output\\%s%03d.pgm", dir, prefix, i);
			//cvSaveImage(filename, gray);
			sprintf(filename, "bryan.pgm");
			
			if(!(fp=fopen(filename, "wb"))){
				cout<<"Cannot write to file"<<endl;
				exit(0);
			}
			fprintf(fp, "P5\n%d %d\n255\n", gray->height, gray->width);
			for(j=0;j<gray->height; j++){
				for(k=0; k<gray->width; k++){
					//fwrite(gray->imageData[j*gray->widthStep, gray->width*gray->width, 1, fp);
					fputc((gray->imageData[j*gray->widthStep+k])&255,fp);
					//fprintf(fp, "%d "
					//gray1->imageData[j]=gray->imageData[j];
				}
			}
			
			fclose(fp);
			
			
			gray = cvLoadImage(filename,0);
			/*
			printf("image1: %dx%d\n", gray->width, gray->height);

			fp=fopen(filename, "rb");
			fscanf(fp,"P5\n%d %d\n255\n", &w, &h);
			gray1 = cvCreateImage(cvSize(w, h), 8, 1);
			fread(gray1->imageData, gray->widthStep*gray->height, 1, fp);
			for(j=0;j<gray->imageSize; j++){
				if(gray->imageData[j]!=gray1->imageData[j]){
					printf("%d:%d-%d\n",j,gray->imageData[j], gray1->imageData[j]);
					cvWaitKey(0);
				}
			}
			*/
			cvShowImage("image", gray);
			cvWaitKey(0);
			cvReleaseImage(&img);
			cvReleaseImage(&gray);
        //}
		cout<<endl;
    }
    else
    {
		printf("FormatConvert: convert color pgm files to grayscale.\n");
		printf("   syntax: FormatConvert dirName filePrefix\n");
		printf("           dirName or filePrefix not found.\n");
		printf("           exiting.....\n");
    }
    
    return 0;
}

#ifdef _EiC
main(1,"main.cpp");
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -