1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| function chercherlemotif(
$image,
$largeur_image,
$hauteur_image,
$motif,
$largeur_motif,
$hauteur_motif)
{
for($lig = 0; $lig < $hauteur_image - $hauteur_motif + 1; $lig++) {
for($col = 0; $col < $largeur_image - $largeur_motif + 1; $col++) {
if(le_motif_est_ici($image, $motif, $largeur_motif, $hauteur_motif, $lig, $col)) {
return [$lig, $col];
}
}
}
return [-1, -1];
}
function le_motif_est_ici($image, $motif, $largeur_motif, $hauteur_motif, $lig, $col)
{
for($i = 0; $i < $largeur_motif; $i++) {
for($j = 0; $j < $hauteur_motif; $j++) {
if($image[$lig+$i][$col+$j] != $motif[$i][$j]) {
return false;
}
}
}
return true;
}
// TEST :
$image = array(
"abc.........abc",
"abc.abc.abc.def",
"....def....ghi.",
"....ghi........",
);
$largeur_image = strlen($image[0]);
$hauteur_image = count($image);
$motif = array(
"abc",
"def",
"ghi",
);
$largeur_motif = strlen($motif[0]);
$hauteur_motif = count($motif);
$resultat = chercherlemotif(
$image,
$largeur_image,
$hauteur_image,
$motif,
$largeur_motif,
$hauteur_motif
);
print_r($resultat); |
Partager