J'essaie d'écrire une fonction pour faire pivoter une matrice d'image en utilisant la technique de pavage en boucle. Cependant, je rencontre quelques problèmes avec le faire fonctionner correctement.Mise en boucle pour faire pivoter une matrice
EDIT: Voici mon code mis à jour qui fonctionne, mais seulement lorsque n est un multiple de la taille du bloc. Comment pourrais-je gérer les différentes tailles de matrices? En ce moment, je n'utilise que des blocs carrés, et cela fonctionne très bien pour ces blocs carrés. Comment pourrais-je changer cela pour utiliser des blocs rectangulaires basés sur la taille du tableau que je reçois. Plus précisément, si on me donne un tableau n x n, comment choisir les dimensions du bloc rectangulaire pour le diviser?
//Block size to tune
int block = 20;
int i1, j1, k1, i, j, k;
for(i1 = 0; i1 < n; i1 += block) {
for(j1 = 0; j1< n; j1 += block) {
for(i = i1; i < i1 + block; i++){
for(j = j1; j < j1 + block; j++){
dest[getInd(j, i, n)] = src[getInd(i, n - 1 - j, n)];
}
}
}
}
}
bien ... où est le problème? quels résultats * obtenez-vous? –
Ajout de l'image des résultats avec la matrice d'origine en haut, mal tournée en bas. – CCSab
+1 pour le pavage en boucle! –