- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
-
- #include "image.h"
-
- /* calcule la distance au carré entre 2 pixels */
- int dist2(pixel p1, pixel p2) {
- int dr = p1.r - p2.r;
- int dv = p1.v - p2.v;
- int db = p1.b - p2.b;
- return dr * dr + dv * dv + db * db;
- }
-
- /* renvoie l'indice du centroide le plus proche de p */
- int classer(pixel p, pixel* centroides, int k){
- // A FAIRE
- return 0;
- }
-
-
- /* applique l'algorithme de kmeans
- - pix : les npix à clusteriser
- - classes : pour indiquer les classes finales des pixels
- - centroides : tableau des k centroides */
- void kmeans(pixel* pix, int* classes, int npix, pixel* centroides, int k){
- // initialisation des classes
-
- // A FAIRE
-
- // initialisation des centroides
-
- // A FAIRE
-
- // Algo Kmeans
- bool changed = true;
- while (changed) {
- printf("Etape kmeans\n");
- changed = false;
- // A FAIRE
-
- }
- }
-
- int main() {
-
- int k = 4;
-
- printf("Lecture de l'image\n");
- Image* im0 = importerImage("johnR.ppm");
-
- printf("Modification de l'image\n");
-
- for (int i = 140; i < 180; i += 1) {
- for (int j = 262; j < 302; j += 1) {
- pixel p = {.r = 255, .v = 0, .b = 0};
- setPix(im0, i, j, p);
- }
- }
-
- printf("Ecriture de l'image\n");
- exporterImage(im0, "johnR_avec_un_nez_rouge.ppm");
-
- detruireImage(im0);
-
- return 0;
- }