bonjour,je suis débutant en builder c++ , je veux savoir comment faire la lecteur d'une image et l'affichage c-a-d (l'affichage de l'image original et l'image résultat) .merci
bonjour,je suis débutant en builder c++ , je veux savoir comment faire la lecteur d'une image et l'affichage c-a-d (l'affichage de l'image original et l'image résultat) .merci
Image ? BMP ? JPEG ?
Composant TImage, TBitmap, TPicture, TCanvas
Voir l'exemple FishFactory fourni dans les Démos du RAD Studio !
Bonne Lecture !
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
merci,mon probléme maintenant c'est la téléchargement des images .tif et .jpg
avec le code suivant je peux téléchargé que les images format bmp!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (OpenPictureDialog1->Execute()) Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
téléchargement ???
tu veux dire chargement !
LoadFromFile gère un système de fichier windows (local ou réseau), on ne peut pas parler de téléchargement comme avec des protocoles FTP ou HTTP !
Pour le TPicture, il gère plusieurs formats nativement mais cela dépend de la version de C++Builder
A partir de 2009, le TIFF doit être géré, ainsi que le JPEG
En C++Builder 6, tu peux utiliser le TJPEGImage, tu as plein d'exemple d'utilisation
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
plutôt chargement merci bien
comment appliqué cette programme sur une image sous builder c++.
je suis débutant en builder et c'est premier fois que j'utilise builder en traitement d'image aide moi svp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 /* otsu_th.c */ #include <stdio.h> #include <stdlib.h> #include <math.h> #include "mypgm.h" void otsu_th( ) /* binarization by Otsu's method based on maximization of inter-class variance */ { int hist[GRAYLEVEL]; double prob[GRAYLEVEL], omega[GRAYLEVEL]; /* prob of graylevels */ double myu[GRAYLEVEL]; /* mean value for separation */ double max_sigma, sigma[GRAYLEVEL]; /* inter-class variance */ int i, x, y; /* Loop variable */ int threshold; /* threshold for binarization */ printf("Otsu's binarization process starts now.\n"); /* Histogram generation */ for (i = 0; i < GRAYLEVEL; i++) hist[i] = 0; for (y = 0; y < y_size1; y++) for (x = 0; x < x_size1; x++) { hist[image1[y][x]]++; } /* calculation of probability density */ for ( i = 0; i < GRAYLEVEL; i ++ ) { prob[i] = (double)hist[i] / (x_size1 * y_size1); } /* omega & myu generation */ omega[0] = prob[0]; myu[0] = 0.0; /* 0.0 times prob[0] equals zero */ for (i = 1; i < GRAYLEVEL; i++) { omega[i] = omega[i-1] + prob[i]; myu[i] = myu[i-1] + i*prob[i]; } /* sigma maximization sigma stands for inter-class variance and determines optimal threshold value */ threshold = 0; max_sigma = 0.0; for (i = 0; i < GRAYLEVEL-1; i++) { if (omega[i] != 0.0 && omega[i] != 1.0) sigma[i] = pow(myu[GRAYLEVEL-1]*omega[i] - myu[i], 2) / (omega[i]*(1.0 - omega[i])); else sigma[i] = 0.0; if (sigma[i] > max_sigma) { max_sigma = sigma[i]; threshold = i; } } printf("\nthreshold value = %d\n", threshold); /* binarization output into image2 */ x_size2 = x_size1; y_size2 = y_size1; for (y = 0; y < y_size2; y++) for (x = 0; x < x_size2; x++) if (image1[y][x] > threshold) image2[y][x] = MAX_BRIGHTNESS; else image2[y][x] = 0; } main( ) { load_image_data( ); /* input image1 */ otsu_th( ); /* Otsu's binarization method is applied */ save_image_data( ); /* output image2 */ return 0; }
Partager