2010-10-30 19 views
6

Je suis curieux - est-il possible de ahieve en PHP:Création d'image basée sur la détection de bord en PHP

1) Envoyer fichier image au serveur 2) Mémoire image = détecter les contours et créer des traits simples fondées sur la base bords 3) Enregistrer le fichier sur le serveur/l'envoyer au navigateur de l'utilisateur/quoi que ce soit

Voici un exemple de fichier "P" (comme vous pouvez le voir, il n'a pas été créé avec un programme de détection de contour, mais manuellement - juste comme un exemple):

http://i51.tinypic.com/5vzo0x.jpg Merci!

+7

Je viens de réaliser quelle horreur cette flèche est ... – Paul

+0

Google sur l'algorithme de détection de bord et vous serez heureux:]. Mais attendez, la bibliothèque GD pour PHP n'est pas très rapide; lent en fait – Harmen

+0

Plug sans vergogne: voici un guide utile pour une installation noob d'ImageMagick (et GhostScript): http://stackoverflow.com/questions/3243361/pdf-convert-with-imagemagick-and-ghostscript-on-windows-vista -7-x64 – Ben

Répondre

10

Si vous pouvez utiliser ImageMagick, il est le --charcoal filter:

L'effet de charbon de bois est destiné à simuler le dessin au fusain de l'artiste de l'image donnée. L'opérateur "-charcoal" est, à certains égards, similaire aux transformations de détection de contour utilisées par ComputerVision. Fondamentalement, il essaie de convertir les grandes bordures et les bords de l'objet dans l'image en crayon et en nuances de charbon de bois.

Le premier argument est censé représenter l'épaisseur des lignes de bord.

Le manuel d'exemples ImageMagick montre une autre façon dont les résultats encore mieux:

Artist Charcoal Sketch of Image

alt textalt text

+0

J'ai trouvé un morceau de code qui m'intéresse (merci!) Mais je n'ai aucune idée de comment l'exécuter en php:/ – Paul

+0

convertir holocaust_sm.jpg \ -edge 1 -negate -normaliser \ -colorspace Gray -blur 0x.5 -contrast-stretch 0x50% \ color-in.gif – Paul

+1

@Paul vous avez besoin d'ImageMagick installé sur votre serveur, et de pouvoir l'exécuter depuis PHP. Voir un exemple ici: http://stackoverflow.com/questions/2582658/to-imagemagick-php-exec –