imagem open(imagem img, char nome_arquivo[]){
char text[10];
char text_split[3][50];
char altura[5];
char largura[5];
char nome_arquivo_tratado[30];
int qtd_cores;
for (int i = 0; i < 30; ++i)
{
nome_arquivo_tratado[i] = '\0';
}
limpar_string_arquivo(nome_arquivo, nome_arquivo_tratado);
FILE *file;
file = fopen(nome_arquivo_tratado, "r");
if(file == null){
puts("Arquivo não encontrado");
} else {
img = alocar_matriz();
fgets(text, 10, file);
fgets(text, 10, file);
split(text, " ", text_split);
strcpy(altura, text_split[0]);
strcpy(largura, text_split[1]);
strcpy(img.nome_imagem, nome_arquivo_tratado);
sscanf(altura, "%d", &img.altura);
sscanf(largura, "%d", &img.largura);
img = realocar_matriz(img);
qtd_cores = img.altura * img.largura * 3;
char cores[(qtd_cores + 1) * 12];
char vetor_cores[qtd_cores][50];
fgets(text, 10, file);
fgets(cores, qtd_cores * 4 , file);
split(cores, " ", vetor_cores);
int indice = 0;
for (int i = 0; i < img.altura; ++i)
{
for (int j = 0; j < img.largura; ++j)
{
for (int k = 0; k < 3; ++k)
{
sscanf(vetor_cores[indice], "%d", &img.matriz[j][i][k]);
indice++;
}
}
}
}
return img;
}