begin process at 2012 02 12 19:47:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > 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

Source avec une capture IMAGES GENETIQUES
Source avec Zip Source avec une capture RUBIX CUBE
Source avec Zip INTERPRETEUR BRAINFUCK
Source avec Zip PROXY HTTP : SAUVEZ VOS VIDEOS PREFEREES.
Source avec une capture ECRIRE UN TEXTE EN CERCLE SUR UNE IMAGE

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

 Sources en rapport avec celle ci

CRÉER UNE IMAGE À PARTIR DU TEXTE par dilar
UPLOAD IMAGE AVEC MINIATURE par dilar
Source avec Zip Source avec une capture AJOUTER DES EFFETS DE PERSPECTIVE ET DES EFFETS DE REFLET SU... par zulrigh
Source avec Zip FAIRE DES MINIATURE D'IMAGE, DES PHOTOS POUR LES PROFILS par zulrigh
Source avec Zip Source avec une capture CLASSE LECTUREENLIGNE - POUR LES SITES DE SCANTRAD OU ... par tiger222

Commentaires et avis

Commentaire de juki_webmaster le 27/01/2007 18:15:38

Si tu pouvais fournir un screenshot pour voir ce que ça donnes, sa serais chouete.
Tu t'est inspirer de ce code-ci :
http://www.cppfrance.com/codes/TRAITEMENT-IMAGE-SEGMENTATION-CROISSANCE-REGION_41140.aspx
or not ?

Commentaire de coucou747 le 29/01/2007 10:45:38 administrateur CS

inspiré de rien du tout...

Commentaire de fadoua123 le 02/02/2008 17:46:41

salut
a vrai dire j ai besoin de ce code mais ca marche pas chez moi
bon j ai met au lieu de '11.jpg'----> 'le nom de mon image .jpg'
et au lieu de '11.png'--->'image1(qui est le nom de mon image).png;
voila ce dui me donne comme erreurs:

Warning: imagecreatefromjpeg(imag1.jpeg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\harris.php on line 51

Warning: imagesx(): supplied argument is not a valid Image resource in c:\program files\easyphp1-8\www\harris.php on line 52

Warning: imagesy(): supplied argument is not a valid Image resource in c:\program files\easyphp1-8\www\harris.php on line 53

Warning: imagecreatetruecolor(): Invalid image dimensions in c:\program files\easyphp1-8\www\harris.php on line 54

Warning: imagecolorallocate(): supplied argument is not a valid Image resource in c:\program files\easyphp1-8\www\harris.php on line 55

Warning: imagepng(): supplied argument is not a valid Image resource in c:\program files\easyphp1-8\www\harris.php on line 64

Commentaire de coucou747 le 02/02/2008 19:38:17 administrateur CS


Warning: imagecreatefromjpeg(imag1.jpeg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\harris.php on line 51

ton image n'existe pas...


bon j ai met au lieu de '11.jpg'----> 'le nom de mon image .jpg'

jpg != jpeg

Commentaire de fadoua123 le 03/02/2008 16:32:18

salut
mais meme que jai changer jpeg par jpg ca n as rien donne ni fautes ni resultats!!
svp d ou peu venir ce probleme?
merci

 Ajouter un commentaire


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 &#224; tous,Je souhaite dessiner tout b&#234;tement un rectangle en php (je travaille en local)&nbsp;&#224; l'aide de la libraire GD. Pour cela, Librairie GD, Besoin d'aide !!! [ par Astalavista ] &nbsp;&nbsp;&nbsp; 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 &#224; tous,Je cherche &#224; faire une page pour afficher la carte d'identit&#233; 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,995 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales