📄 separar.c
字号:
/* Programa de conversao de imagens *.dat(madeiro)
para imagens no formato *.pgm
Autor: Waslon Terllizzie Araujo Lopes
Data: Dez/99
*/
#include <stdio.h>
#include <malloc.h>
#include <math.h>
#define DIM 256
int main(void){
char name[25];
int i,j,k,l;
FILE *arquivo;
int *ha,**pta;
long w;
float x;
// alocacao da memoria
ha = (int *)malloc(4 * DIM * DIM * sizeof(int)); //n.o de pixels para niv. de cinza
if( (!ha) ){
printf("\nFalha na aloca玢o de mem髍ia\n");
exit(1);
}
//****************************Leitura de Arquivo********************************
printf("\nDigite o nome do arquivo de entrada de dados (*.dat): ");
scanf("%s",&name[0]);
if((arquivo=fopen(name,"r"))==NULL){
printf("\nN鉶 foi poss韛el abrir o arquivo de entrada de dados\n");
exit(1);
}
// alocacao da memoria -- imagem de entrada
//pta = (int **)malloc(256*sizeof(int *)); // nivel de cinza de cada pixel
pta = (int **)malloc(4*DIM*sizeof(int *)); // nivel de cinza de cada pixel
if(!pta){
printf("\nFalha na aloca玢o de mem髍ia\n");
exit(1);
}
//for(i=0;i<256;i++){
for(i=0;i<4*DIM;i++){
pta[i] =(int *)malloc(4*DIM * sizeof(int));
if(!pta[i]) {
printf("\nFalha na aloca玢o de mem髍ia\n");
exit(1);
}
}
//leitura dos valores da matriz da imagem de entrada
//for(j=0;j<5;j++)
for(i=0;i<4*DIM*DIM;i++){
fscanf(arquivo,"%f",&x);
*(/* j*65536 + */ ha+i) = x;
//*(ha+i) = x;
}
fclose(arquivo);
//************************Impress鉶 de Dados no arquivo************************
//************************ Arquivo 1 ******************************************
printf("\nDigite o nome do arquivo da imagem de sa韉a (*.dat): ");
scanf("%s",&name[0]);
if((arquivo=fopen(name,"w"))==NULL){
printf("\nNao foi possivel abrir o arquivo de saida de dados\n");
exit(1);
}
for(i=0;i<DIM*DIM;i++)
fprintf(arquivo,"%d\n",*(0*65536 + ha + i));
fclose(arquivo);
//************************ Arquivo 2 ******************************************
printf("\nDigite o nome do arquivo da imagem de sa韉a (*.dat): ");
scanf("%s",&name[0]);
if((arquivo=fopen(name,"w"))==NULL){
printf("\nNao foi possivel abrir o arquivo de saida de dados\n");
exit(1);
}
for(i=0;i<DIM*DIM;i++)
fprintf(arquivo,"%d\n",*(1*65536 + ha + i));
fclose(arquivo);
//************************ Arquivo 3 ******************************************
printf("\nDigite o nome do arquivo da imagem de sa韉a (*.dat): ");
scanf("%s",&name[0]);
if((arquivo=fopen(name,"w"))==NULL){
printf("\nNao foi possivel abrir o arquivo de saida de dados\n");
exit(1);
}
for(i=0;i<DIM*DIM;i++)
fprintf(arquivo,"%d\n",*(2*65536 + ha + i));
fclose(arquivo);
//************************ Arquivo 4 ******************************************
printf("\nDigite o nome do arquivo da imagem de sa韉a (*.dat): ");
scanf("%s",&name[0]);
if((arquivo=fopen(name,"w"))==NULL){
printf("\nNao foi possivel abrir o arquivo de saida de dados\n");
exit(1);
}
for(i=0;i<DIM*DIM;i++)
fprintf(arquivo,"%d\n",*(3*65536 + ha + i));
fclose(arquivo);
//************************ Fim da Impress鉶 ***********************************
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -