begin process at 2010 03 17 07:43:50
  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 une capture DES HISTOGRAMES , CAMEMBERT 3D ET ÉCLATÉS CRÉÉ AU VOL EN PH... par zozo14
AJOUTER UN ARRIÈRE PLAN SUR UNE IMAGE par digitaldax
REDIMENSIONNER UNE IMAGE EN PHP par digitaldax
Source avec Zip RECHERCHE DE MOTIF DANS UNE IMAGE par ParseError
BARRES PARAMÉTRABLES EN DÉGRADÉ DE COULEUR ET AVEC TEXTE DA... par hornetbzz

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CLASSE LECTUREENLIGNE - POUR LES SITES DE SCANTRAD OU ... par tiger222
Source avec une capture ECRIRE UN TEXTE EN CERCLE SUR UNE IMAGE par coucou747
REDIMENTION D'IMAGE, LIBRAIRIE GD par 17l7
Source avec Zip Source avec une capture HORLOGE ANALOGIQUE [ET NUMERIQUE] EN IMAGE par LeniM
Source avec Zip Source avec une capture [PHP 5.1] PHOTOPHOP (PHPDRAW 2) par malalam

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

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


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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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 : 0,842 sec (3)

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