【C++で環境はfedoraです】
初心者なため無駄な文が多く入ってしまっているのですが
やりたいこととしては
画像を読み込んでその画像に乱数をかけたものを作成したいので
下のコードを修正してもらいたいです
フォルダーが3つあるのですが一斉にやるのではなく選択したフォルダー
だけできるように//ではぶいているのですが簡単に区別できる方法があれば
そちらも教えてけるいただけるとありがたいです。よろしくお願いしますm(_ _)m
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define IMAGE_AMOUNT 324000//データベースの枚数
#define FRAME_X_SIZE 128
#define FRAME_Y_SIZE 72
#define WIDTH 4
#define HEIGHT 3
main()
{
int Get_Y_feature_vector(struct Image *image,int *pfreq, int vqsize, int w, int h);
int Scale_senkei( struct Image *image, double zoom_x, double zoom_y);
int partition(struct Image *image,int *hairetsu_num);
int Directional_Vector(struct Image *image,int *Directional_Vector_hist);
struct Image image;
int modeflag,filtersize;
int pfreq[VQSIZE];
int i,j,m,n,ret;
char in_name[100],in_fname[100],db_fname[150];
// char result_fnameMax[150],result_fnameAve[150],result_fnameMin[150];
// char table_fname[200];
double zoom_x,zoom_y;
time_t t1,t2,t3,t4,t5,t6,t7,t8;
// double t1,t2;
int runtime;
int count;
clock_t start,end;
//float zx,zy;
int dir1,dir2,file_no,frameno;
char dir1_name[3],dir2_name[3],frame_name[3];
FILE *fp;
FILE *image_file;
//画像データの読み込み
for(i=1;i<116;i++){
for(j=1;j<50000;j++){
sprintf(in_fname,"../../image/15s_ref/%d/%d.ppm",i,j); //1
//sprintf(in_fname,"/run/media/susumu/WD/DB/%d/%d.ppm",i,j); //2
//sprintf(in_fname,"/run/media/susumu/WD/1h/%d/%d.ppm",i,j); //3
nize_image();//ノイズをかける
//ノイズをかけた画像の作成
sprintf(in_fname,"../../image/15s_ref_noiz/%d/%d.ppm",i,j); //1-1,2-1
//sprintf(in_fname,"/run/media/susumu/WD/DB_noiz/%d/%d.ppm",i,j); //1-2,2-2
//sprintf(in_fname,"/run/media/susumu/WD/1h_noiz/%d/%d.ppm",i,j); //1-3
}
return 0;
}
/*乱数の計算値*/
//(0,1)の一様分布の乱数の生成(genrand_real1())はメルセンヌツイスタに基く
//rand_normalはbox-muller法に基く
double rand_normal( double sigma ){
double z=sqrt( -2.0*log(genrand_real1()) ) * sin( 2.0*M_PI*genrand_real1() );
return sigma*z;
}
void noiz_image(struct Image image,double DIS){
int i;
int r,g,b;
for(i=0;i<image.size;i++){
r =(int)image.r[i] + (int)rand_normal(DIS);
g =(int)image.g[i] + (int)rand_normal(DIS);
b =(int)image.b[i] + (int)rand_normal(DIS);
if(r>255){
image.r[i] = 255;
} else if(r<0){
image.r[i] = 0;
} else{
image.r[i] = (unsigned char)r;
}
if(g>255){
image.g[i] = 255;
} else if(g<0){
image.g[i] = 0;
} else{
image.g[i] = (unsigned char)g;
}
if(b>255){
image.b[i] = 255;
} else if(b<0){
image.b[i] = 0;
} else{
image.b[i] = (unsigned char)b;
}
}
}