Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. void imag_com_mais_blobs(BLOBS *b, IMAGEM *im)
  2. {
  3. b = (BLOBS *)malloc(sizeof(BLOBS));
  4. int max_blobs = 0;
  5. if (im->blobs > max_blobs)
  6. {
  7. max_blobs = im->blobs;
  8. strcpy(im->im_mais_blobs, im->nome_imagem);
  9. }
  10. }
  11.  
  12. int LerFicheiro(char *fi, LISTAIMG *LImag,int R,int G,int B,int d) // fi é variável para o nome do ficheiro
  13. {
  14. int i, j, nC, nL, ncanais;
  15. FILE *f;
  16. PIXEL *p;
  17. PIXEL **m;
  18. IMAGEM *Imag;
  19. BLOBS *b;
  20. ELEMENTOZONA *e;
  21. e = (ELEMENTOZONA *)malloc(sizeof(ELEMENTOZONA));
  22. b = (BLOBS *)malloc(sizeof(BLOBS));
  23. Imag = (IMAGEM *)malloc(sizeof(IMAGEM));
  24. p = (PIXEL *)malloc(sizeof(PIXEL));
  25. f = fopen(fi, "r"); // abre um ficheiro qualquer
  26. if (f == NULL) return NULL;
  27. while (!feof(f))
  28. {
  29. system("cls");
  30. printf("A analisar imagemnn");
  31. Imag = criar_imagem();
  32. fscanf(f,"%s", &Imag->nome_imagem);
  33. if (feof(f))
  34. {
  35. free(Imag);
  36. break;
  37. }
  38. fscanf(f, "%d", &Imag->NLINHAS);
  39. fscanf(f, "%d", &Imag->NCOLUNAS);
  40. fscanf(f, "%d", &Imag->NCANAIS);
  41.  
  42. calcular_zonas(&Imag, R, G, B, d);
  43. Imag->proximo = LImag->inicio;
  44. LImag->inicio = Imag;
  45. b = Imag->inicio;
  46.  
  47. while (b)
  48. {
  49. det_media(Imag, b);
  50. det_desvio_padrao(Imag, b);
  51. b = b->proximo;
  52. imag_com_mais_blobs(b, Imag);
  53. }
  54.  
  55.  
  56. }
  57.  
  58. fclose(f);
  59. return INSUCESSO;
  60.  
  61. void main()
  62. {
  63. setlocale(LC_CTYPE, "portuguese");
  64. char f[20];
  65. LISTAIMG *Limg;
  66. Limg = criarlista();
  67. int i, j, R, G, B, d, linha, coluna, zona;
  68. int opcao;
  69. IMAGEM *aux;
  70. BLOBS *b;
  71. b = (BLOBS *)malloc(sizeof(BLOBS));
  72. do
  73. {
  74. opcao = Menu();
  75. switch (opcao)
  76. {
  77. case 2:
  78. {
  79. aux = Limg->inicio;
  80. while (aux)
  81. {
  82. b = aux->inicio;
  83. printf("nnome da imagem:%s nnúmero de blobs:%dnn", aux->nome_imagem, aux->blobs);
  84. system("pause");
  85. while (b)
  86. {
  87. printf("nmédia do blob:n");
  88. printf("média R: %.2fn", b->mediaR);
  89. printf("média: %.2fn", b->mediaG);
  90. printf("média: %.2fn", b->mediaB);
  91. printf("ndesvio padrão do blob:n");
  92. printf("desvio padrão R: %.2fn", b->desv_padraoR);
  93. printf("desvio padrão: %.2fn", b->desv_padraoG);
  94. printf("desvio padrão: %.2fn", b->desv_padraoB);
  95. b = b->proximo;
  96. }
  97. printf("nna imagem com mais blobs é: %s nnn", aux->im_mais_blobs);
  98. system("pause");
  99. aux = aux->proximo;
  100. }
  101.  
  102. case 5:
  103. break;
  104. default:printf("nOpcao invalida!nn");
  105. break;
  106. }
  107. system("pause");
  108. system("cls");
  109. } while (opcao != 5);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement