Forum du développeur
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Forum du développeur

Le forum du développeur vous permettra d'obtenir de l'aide si vous voulez débuter le développement ou si vous développez, que ce soit des programmes ou des sites web. Il vous aidera aussi pour votre système d'exploitation et votre matériel...

-50%
Le deal à ne pas rater :
-50% sur les sacs à dos pour ordinateur portable Urban Factory ...
19.99 € 39.99 €
Voir le deal

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

traitement d image

2 participants

Aller en bas  Message [Page 1 sur 1]

1traitement d image Empty traitement d image Lun 11 Mai - 13:05

lucie22



svp qulequ un pourrait m aider jai un programme ecrit en c++ je voudrai le transforme en c

2traitement d image Empty Re: traitement d image Lun 11 Mai - 14:38

lucie22



Code:
void medianfilter(const int* image, int* result, int N, int M)

{
// Move window through all elements of the image
for (int m = 1; m < M - 1; ++m)
for (int n = 1; n < N - 1; ++n)
{
// Pick up window elements
int k = 0;
int window[9];
for (int j = m - 1; j < m + 2; ++j)
for (int i = n - 1; i < n + 2; ++i)
window[k++] = image[j * N + i];
// Order elements (only half of them)
for (int j = 0; j < 5; ++j)
{
// Find position of minimum element
int min = j;
for (int l = j + 1; l < 9; ++l)
if (window[l] < window[min])
min = l;
// Put found minimum element in its place
int dist temp = window[j];
window[j] = window[min];
window[min] = temp;
}
// Get result - the middle element
result[(m - 1) * (N - 2) + n - 1] = window[4];
}
}
/*
// 2D MEDIAN FILTER wrapper ( extension)

//void medianfilter(element* image, element* result, int N, int M)
void medianfilter(const int* image, int* result, int N, int M)
{
// Check arguments
if (!image || N < 1 || M < 1)
return;
// Allocate memory for signal extension
int * extension = new int [(N + 2) * (M + 2)];
// Check memory allocation
if (!extension)
return;
// Create image extension
for (int i = 0; i < M; ++i)
{
memcpy(extension + (N + 2) * (i + 1) + 1, image + N * i, N * sizeof(int));
extension[(N + 2) * (i + 1)] = image[N * i];
extension[(N + 2) * (i + 2) - 1] = image[N * (i + 1) - 1];
}
// Fill first line of image extension
memcpy(extension, extension + N + 2, (N + 2) * sizeof(int));
// Fill last line of image extension
memcpy(extension + (N + 2) * (M + 1), extension + (N + 2) * M, (N + 2) * sizeof(int));
// Call median filter implementation
medianfilter(extension, result ? result : image, N + 2, M + 2);
// Free memory
delete[] extension;
}

}

3traitement d image Empty Re: traitement d image Mer 8 Juil - 7:19

Oddrad



Bonjour,
Je suis dans le même cas, avez-vous eu des réponses, merci!

4traitement d image Empty Re: traitement d image Mer 8 Juil - 7:20

Oddrad



c++

Contenu sponsorisé



Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum