Permalink
Browse files

Update OCR/Tools.ml

  • Loading branch information...
1 parent c086316 commit b7d8c58ebcdf180350463c47ac902f1ca5a99975 @dezyal dezyal committed Oct 21, 2012
Showing with 33 additions and 41 deletions.
  1. +33 −41 OCR/Tools.ml
View
@@ -1,28 +1,22 @@
-(*
- [Fonctions deg2rad <-> rad2deg]
- Convertie un angle en degré en radian
+(*
+[Fonctions deg2rad <-> rad2deg]
+Convertie un angle en degré en radian
*)
-let deg2rad d =
+let deg2rad d =
d*.3.14159265/.180.
let rad2deg r =
r*.180./.3.14159265
-(*
- [Fonction out_of_bounds]
- Renvoie true si on sort des limites du tableau
+(*
+[Fonction out_of_bounds]
+Renvoie true si on sort des limites du tableau
*)
let out_of_bounds mtx width height x y =
x < 0 || x > width-1 || y < 0 || y > height-1
(*
Fonction de comparaison utilisée pour trier des éléments dans un tableau.
-
-P1: `a
-Premier élément à comparer.
-
-P2: `b
-Deuxième élément à comparer.
*)
let cmp a = function
b when b < a -> 1
@@ -31,37 +25,35 @@ let cmp a = function
(*
Fonction renvoyant le premier élément d'un triplet.
-
-P1: (`a -> `b -> `c)
-Triplet duquel on va extraire le premier élément.
*)
-let fst tpl =
- let (a, b, c) = tpl in
- a
+let fst (a, b, c) = a
+
+let min (x1, y1) (x2, y2) =
+ (min x1 x2, min y1 y2)
-let mtx2arr mat =
- let n = ref(0) in
- let arr = Array.make 225 0 in
- for i = 0 to 14 do
- for j = 0 to 14 do
- arr.(!n) <- mat.(i).(j);
- n := !n + 1
- done
- done;
- Array.fast_sort cmp arr;
- arr
+let max (x1, y1) (x2, y2) =
+ (max x1 x2, max y1 y2)
+(*
+Procédure affichant les valeurs contenues dans un vecteur.
+*)
+let show_vec vec l =
+ for i = 0 to l-1 do
+ print_int (vec.(i));
+ print_newline ()
+ done
(*
-let mtx2arr mat =
- let n = ref(0) in
- let arr = (Array.make ((Array.length mat) * (Array.length mat.(0)))) 0 in
- for i = 0 to (Array.length mat.(0))-1 do
- for j = 0 to (Array.length mat)-1 do
- arr.(!n) <- mat.(i).(j);
- n := !n + 1
- done
- done;
- Array.fast_sort cmp arr;
- arr
+Procédure affichant les valeurs contenues dans une matrice.
*)
+let show_mtx mtx w h =
+ for y = 0 to h-1 do
+ for x = 0 to w-1 do
+ if (mtx.(x).(y) <> 0 && mtx.(x).(y) <> 255) then
+ begin
+ print_int mtx.(x).(y);
+ print_string " "
+ end
+ done;
+ (*print_newline ();*)
+ done

0 comments on commit b7d8c58

Please sign in to comment.