示例#1
0
文件: imginfo.c 项目: brend/Diffusor
void print_image_information(const char *filename) {
  FILE *in = fopen(filename, "rb");

  if (!in) {
    fprintf(stderr, "Couldn't open file for reading: %s\n", filename);
    return;
  }

  int nx = 0, ny = 0;
  float **u = ip_load_image(in, &nx, &ny, NULL);

  fclose(in);

  if (!u) {
    fprintf(stderr, "Couldn't read image data from file: %s\n", filename);
    return;
  }

  float sum = sum_image(nx, ny, u), mean = mean_value(nx, ny, u);

  printf("Sum of all grey values: %3.4f\nMean: %3.4f\n", sum, mean);
}
示例#2
0
int main(){
	HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hStdOut, BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_INTENSITY | FOREGROUND_GREEN);
	int i, j;
	for (i = 0; i < 80; i++)
		printf("*");
	for (i = 0; i < N + 2; i++){
		printf("*");
		for (j = 1; j < 79; j++)
			printf(" ");
		printf("*");
	}
	for (i = 0; i < 80; i++)
		printf("*");
	SetConsoleTextAttribute(hStdOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | FOREGROUND_BLUE);


	gotoxy(0, N + 4);


	int a, b;
	printf("Enter interval:\na = ");
	scanf("%d", &a);
	printf("b = ");
	scanf("%d", &b);
	while (a>b){
		printf("Error!\nEnter :\na = ");
		scanf("%d", &a);
		printf("b = ");
		scanf("%d", &b);
	}

	int mas[N][N];
	srand(time(NULL));
	initialize_array(mas, a, b);

	print(mas);
	clean();

	//--------------------------------------------------

	char * str = (char*)malloc(10 * sizeof(char));
	char *p = (char*)malloc(10 * sizeof(char));
	getchar();
	gets(str);
	
	strcpy(p, str);
	int len = strlen(p);
	for (i = 0; i < len; i++)
		if (p[i] == ' ') p[i] = '\0';

	while (strcmp(str, "end")){


		if (!strcmp(str, "help")){
			clean();
			help();
		}
		else if (!strcmp(str, "res")){
			reset(mas);
			print(mas);
			clean();
		}
		else if (!strcmp(str, "initar")) {
			printf("Enter interval:\na = ");
			scanf("%d", &a);
			printf("b = ");
			scanf("%d", &b);
			while (a > b){
				printf("Error!\nEnter :\na = ");
				scanf("%d", &a);
				printf("b = ");
				scanf("%d", &b);
			}
			initialize_array(mas, a, b);
			print(mas);
			clean();
		}
		else if (!strcmp(p, "ch")){
			change(mas, p);
			print(mas);
			clean();
		}
		else if (!strcmp(str, "rev")){
			rev_min_max(mas);
			
			clean();
		}
		else if (!strcmp(str, "rot180")){
			rotateCW180(mas);
			print(mas);
			clean();
		}
		else if (!strcmp(str, "meanv")){
			printf("%g\n",mean_value(mas));
		}
		else if (!strcmp(str, "rfl")){
			rotate_first_last(mas);
			clean();
		}
		else if (!strcmp(str, "rll")){
			rotate_last_last(mas);
			clean();
		}
		else if (!strcmp(p, "sumj")){
			p += strlen(p) + 1;
			int t = atoi(p) - 1;
			if (t > 0 && t <= N){
				sum_elements(mas, t);
			}
			else {
				SetConsoleTextAttribute(hStdOut, BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_INTENSITY | BACKGROUND_BLUE | FOREGROUND_RED);
				printf("Is not a valid number!\n");
				SetConsoleTextAttribute(hStdOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | FOREGROUND_BLUE);
			}
		}
		else {
			clean();
			SetConsoleTextAttribute(hStdOut, BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_INTENSITY | BACKGROUND_BLUE | FOREGROUND_RED);
			printf("Please, enter help!\n");
			SetConsoleTextAttribute(hStdOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY | FOREGROUND_BLUE);
		}

		gets(str);
		strcpy(p, str);
		int len = strlen(p);
		for (i = 0; i < len; i++)
			if (p[i] == ' ') p[i] = '\0';		
	}
}