Dividir figura em .pnm em fatias
Publicado por Sergio 06/05/2005
[ Hits: 5.367 ]
Este programa dado uma imagem *.pnm em formato p2 (grayscale) faz a divisao em N x M subfiguras. As imagens de saida cujo prefixo para as imagesns de saida e xxx sao colocadas em N x M ficheiros cahamados xxx.1.1.pnm xxx.1.2.pnm ... ... exemplo : divide 2 4 img.pnm out
#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXCOL 140 void divide (char *argv[],FILE *f) { FILE *z; int i=0,j,colunas,linhas,imgL,imgA,k,ncoluna=0,nlinha=0,b,v,pixel; char string [100],strler[100],s[10]; while (fgets (strler,100,f)!=NULL) { if (strler[0]!='#') i++; if (i==1) fscanf (f,"%d %d", &imgL, &imgA); } rewind (f); if (atoi (argv[1])>imgA || imgA%atoi (argv[1])!=0 || atoi (argv[2])>imgL || imgL%atoi (argv [2])!=0) { fprintf(stderr,"erro, insira multiplos da altura e largura da imagem\n"); exit(2); } for (i=1;i<=atoi (argv [1]);i++) for (j=1;j<=atoi (argv [2]);j++) { sprintf (string, "%s.%d.%d.pnm", argv[4], i, j); if ((z=fopen (string,"a+"))==NULL) { fprintf (stderr, "erro a abrir o ficheiro %s",string); exit (2); } k=0; while ((fgets (strler,100,f)!=NULL) && k<=2) { if (strler[0]!='#') { if (k==0) fputs (strler,z); if (k==1) fprintf (z,"%d %d\n",imgL/(atoi (argv[2])),imgA/(atoi (argv[1]))); if (k==2) fputs (strler,z); k++; } else fputs (strler,z); } for (v=nlinha;v<(imgA/(atoi (argv[1]))+nlinha) && (fgets (strler,100,f)!=NULL);v++) { for (b=ncoluna;b<(imgL/(atoi (argv[2]))+ncoluna) ;b++) { fscanf (f," %d", &pixel); fflush (f); sprintf (s,"%d ",pixel); fputs (s,z); } fputc ('\n',z); } nlinha+= imgA/(atoi (argv[1])); ncoluna+= imgL/(atoi (argv[2])); rewind (f); fclose (z); } } int main (int argc, char **argv) { FILE *f; char s[MAXCOL]; if (argc !=5) fprintf (stderr, "erro de sintaxe em %s", argv [0]); if ((f=fopen(argv[3],"r"))==NULL) fprintf (stderr, "erro a abrir o ficheiro %s", argv[3]); divide (argv,f); return 0; }
Uma pequena "CALCULADORA" (apenas SOMA).
A máquina nao perdoa (jogo da velha em c -arquivo correto, agora)
Calculadora simples com uso de switch , funções e #define
Relógio com data usando Struct
Estrutura condicional ternária
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)