7Robot_Freescale / Mbed 2 deprecated freescal_cup_k22f

Dependencies:   mbed freescal_cup_k22f

Dependents:   freescal_cup_k22f

Revision:
15:b77dc649e4f3
Parent:
10:3424e7b66671
Child:
16:88433b5650df
--- a/source/Camera.cpp	Tue Jan 13 18:47:33 2015 +0000
+++ b/source/Camera.cpp	Wed Jan 14 18:41:06 2015 +0000
@@ -37,32 +37,30 @@
     wait_ms(1);
 }
 
-void passebas()
+void passebas(int ordre)
 {
 
     unsigned int tamponpixel[256] = {0};
-    int ordre=7, i=0;
-
-
+    int i=0;
+    
     // Passe bas en partant de la gauche sur tamponpixel[0:127]
+    // et de la droite sur tamponpixel[128:255]
     for (i=ordre; i<128; i++) {
-        for (int a=0; a<ordre; a++) {
+        for (int a=0; a<=ordre; a++) {
             tamponpixel[i]+=pixel[i-a];
+            tamponpixel[255-i]+=pixel[127-i+a];
         }
-        tamponpixel[i]/=ordre;
+        tamponpixel[i]/=(ordre+1);
+        tamponpixel[255-i]/=(ordre+1);
     }
 
-    // Passe bas en partant de la droite sur tamponpixel[128:255]
-    for (i=127-ordre; i>=0; i--) {
-        for (int a=0; a<ordre; a++) {
-            tamponpixel[255-i]+=pixel[i+a];
-        }
-        tamponpixel[255-i]/=ordre;
+    // Prolongement par continuité à gauche et à droite
+    for (i=0; i<ordre; i++) {
+        tamponpixel[i]=tamponpixel[ordre];
+        tamponpixel[255-i]=tamponpixel[255-ordre]; 
     }
 
-
     // Actualisation de l'image filtrée
-
     for (i=0;i<128;i++)
     {
         pixel[i]=(tamponpixel[i]+tamponpixel[255-i])/2;
@@ -73,11 +71,12 @@
 //fonction qui dérive le signal de la camera
 void derivation()
 {
-    unsigned int tamponpixel[256] = {0};
+    unsigned int tamponpixel[128] = {0};
     
     for (int i=1; i<128; i++) {
-        tamponpixel[i]=pixel[i-1]-pixel[i];
+        tamponpixel[i]=(pixel[i]-pixel[i-1]);
     }
+    tamponpixel[0]=tamponpixel[1];
 
     // Actualisation de l'image filtrée
     for (int i=0; i<128; i++) {