Accueil > > > CONTOURS
CONTOURS
Information sur la source
Description
ce code permet d'avoir une image qui montre ou sont les contours. plus c'est blanc, plus il y a de chance qu'on se trouve sur un contour...
Source
- <?php
- set_time_limit(0);
-
- function int2rvb($i){
- $b=$i%256;
- $v=((($i-$b)/256)%256);
- $r=((($i-$b)/256-$v)/256);
- return array($r, $v, $b);
- }
- function rvb2int($r, $v, $b){
- return ($r*256+$v)*256+$b;
- }
- function ecartype($liste, $l){
- $m=0;
- foreach ($liste as $v){
- $m+=$v;
- }
- $m/=$l;
- $e=0;
- foreach ($liste as $v){
- $e+=abs($v-$m);
- }
- return (int)($e/$l);
- }
- //$cache_color=array();
- function couleur(&$img, &$i, &$j){
- //global $cache_color;
- //if (isset($cache_color[$i][$j])) return $cache_color[$i][$j];
- $a=int2rvb(imagecolorAt($img, $i, $j));
- //$cache_color[$i][$j]=$a;
- return $a;
- }
- function contraste(&$img, $x, $y, $dimX, $dimY, $cherche){
- $listeR=array();
- $listeV=array();
- $listeB=array();
- $mx=max(0, $x-$cherche);
- $Mx=min($dimX-1, $x+$cherche);
- $my=max(0, $y-$cherche);
- $My=min($dimY-1, $y+$cherche);
- $nbr=($Mx-$mx+1)*($My-$my+1);
- for ($i=$mx; $i<=$Mx; $i++){
- for ($j=$my; $j<=$My; $j++){
- list($r, $v, $b)=couleur($img, $i, $j);
- $listeR[]=$r;
- $listeV[]=$v;
- $listeB[]=$b;
- }
- }
- return array(ecartype($listeR, $nbr)*4,ecartype($listeV, $nbr)*4,ecartype($listeB, $nbr)*4);
- }
- $img=ImageCreateFromjpeg('11.jpg');
- $x=imagesX($img);
- $y=imagesY($img);
-
-
- $img2=imageCreateTrueColor($x, $y);
- $black = ImageColorAllocate ($img2, 0, 0, 0);
- for ($i=0;$i<$x;$i++){
- for ($j=0;$j<$y;$j++){
- list($r, $v, $b)=contraste($img, $i, $j, $x, $y, 2);
- $a=rvb2int($r, $v, $b);
- imageline($img2, $i, $j, $i+1, $j+1, $a);
- }
- //if ($i%40==0)imagepng($img2, 'result'.$i.'.png');
- }
-
- imagepng($img2, '11.png');
-
- ?>
<?php
set_time_limit(0);
function int2rvb($i){
$b=$i%256;
$v=((($i-$b)/256)%256);
$r=((($i-$b)/256-$v)/256);
return array($r, $v, $b);
}
function rvb2int($r, $v, $b){
return ($r*256+$v)*256+$b;
}
function ecartype($liste, $l){
$m=0;
foreach ($liste as $v){
$m+=$v;
}
$m/=$l;
$e=0;
foreach ($liste as $v){
$e+=abs($v-$m);
}
return (int)($e/$l);
}
//$cache_color=array();
function couleur(&$img, &$i, &$j){
//global $cache_color;
//if (isset($cache_color[$i][$j])) return $cache_color[$i][$j];
$a=int2rvb(imagecolorAt($img, $i, $j));
//$cache_color[$i][$j]=$a;
return $a;
}
function contraste(&$img, $x, $y, $dimX, $dimY, $cherche){
$listeR=array();
$listeV=array();
$listeB=array();
$mx=max(0, $x-$cherche);
$Mx=min($dimX-1, $x+$cherche);
$my=max(0, $y-$cherche);
$My=min($dimY-1, $y+$cherche);
$nbr=($Mx-$mx+1)*($My-$my+1);
for ($i=$mx; $i<=$Mx; $i++){
for ($j=$my; $j<=$My; $j++){
list($r, $v, $b)=couleur($img, $i, $j);
$listeR[]=$r;
$listeV[]=$v;
$listeB[]=$b;
}
}
return array(ecartype($listeR, $nbr)*4,ecartype($listeV, $nbr)*4,ecartype($listeB, $nbr)*4);
}
$img=ImageCreateFromjpeg('11.jpg');
$x=imagesX($img);
$y=imagesY($img);
$img2=imageCreateTrueColor($x, $y);
$black = ImageColorAllocate ($img2, 0, 0, 0);
for ($i=0;$i<$x;$i++){
for ($j=0;$j<$y;$j++){
list($r, $v, $b)=contraste($img, $i, $j, $x, $y, 2);
$a=rvb2int($r, $v, $b);
imageline($img2, $i, $j, $i+1, $j+1, $a);
}
//if ($i%40==0)imagepng($img2, 'result'.$i.'.png');
}
imagepng($img2, '11.png');
?>
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
générer des miniatures avec gd 1.6 [ par vegetaline ]
muhaha alors là c'est rigolo, un super défi pour les programmeurs fous!ok j'ai le code pour générer des miniatures grâce au php, mais ça marche qu'ave
texte sur image... librairie GD ? [ par ozitoun ]
Bonjour bonjour,voili voilou, je cherche à mettre une texte sur une image (jpeg).j'ai essayé les imagestring, imagechar... mais à chaque fois les exem
Couper le bas d'une image (GD PHP) [ par dezeque ]
bonjour,j'aimerai savoir comment faire pour couper le bas d'une image ?elle fais 600X800 et j'aimerai enlver les 50 dernirers pixels du bas pour quell
Problème d'affichage avec la libraire GD [ par CMOIPOPO ]
Salut à tous,Je souhaite dessiner tout bêtement un rectangle en php (je travaille en local) à l'aide de la libraire GD. Pour cela,
Librairie GD, Besoin d'aide !!! [ par Astalavista ]
Bon, je post ca, car je n'arrive pas a trouver ... :( Je cherche un moyen de fair un Stretch sur une image, C'est a dir de deformer
[BLOB->GD] Redimensionner un "flux image binaire"... [ par arnal69130 ]
Bonjour à tous,Je cherche à faire une page pour afficher la carte d'identité d'un "agent", pour simplifier disons juste son nom et sa p
Librairie GD [ par Stephan45120 ]
J'orai besoin de superposer 2 images. La première en arrière plan et l'autre en calque par dessus(transparente à certain endroit). Ce que je veux arri
A propos des images GD [ par ckhalilo ]
j'ai un problème d'integration des image dans un formulaire, pour eviter l'envoie automatique dans mon formulaire bref mon problème est le suivant qu
Librairie GD et perspective [ par MatiZ ]
'lutJe m'interesse un peu beaucoup à la librairie GD en ce moment et j'aurais voulu créer une perspective d'une image, mais je n'ai rien trouver. Donc
redimmensionner des images ... [ par loupile ]
Bonjour, je vous explique sur mon site j'affiche des images hebergées sur des serveurs distants ... donc pas sur le mien :-) je voudrais pouvoir rédui
|
Derniers Blogs
[MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ![MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ! par redo
La Preview de Windows Explorer 9 est maintenant disponible à l'adresse suivante : http://ie.microsoft.com/testdrive/ Cette version ne nécessite pas un redémarrage de votre machine pour être exploitée . Cette version est fonctionnelle mais reste cependant ...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ![MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ! par redo
Dans la lignée du premier keynote, retrouvez la vidéo du second keynote en ligne : Visionnez la vidéo à l'url suivante : http://www.microsoft.com/presspass/events/mix/VideoGallery.aspx Vous y retrouverez ainsi les speakers Scott Guthrie, Dean Hachamovitch...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|