Seam carving v2

Soyez le premier à donner votre avis sur cette source.

Vue 4 340 fois - Téléchargée 1 024 fois

Description

Pour finir avec l'effet Seam Carving que j'ai posté ici :
http://www.delphifr.com/codes/SEAM-CARVING_54929.aspx
Voici une version un peu différente de l'interface, avec toujours le même principe pour l'algorithme.
Juste un petit changement. La nouvelle version gère les zones à supprimer et les zones à maintenir.

Pas besoin de chercher ici un super logiciel de dessin, c'est juste pour montrer comme ça marche.

En redimensionnant la fenêtre "final", on peut voir l'effet en direct (en supposant que le calcul soit terminé)

Pour le fonctionnement pure de cette source, le calcul des chemins à supprimer est fait dans background par un thread que l'on stop si on fait une modif dans une des données sources.
Comme :
- le masque (maintenir/supprimer)
- les valeurs pour le flou de gauss
- l'image original
- le sens de traitement (horizontal ou vertical)

Je gère aussi dans cette version la possibilité d'agrandir l'image.
On ai d'accord que si vous doublez la largeur, cela revient à dilater simplement l'image d'un facteur de 2 avec du flou. Le principe est intéressant dans les valeurs intermédiaires.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_pseudo3
Messages postés
270
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
7 juin 2018
-
Bonjour Barbichette,

"voilà, j'ai modifié le code pour avoir un petit message de redimensionnement de la fenêtre finale..." :
Super et de plus en rouge : on ne risque plus de ne pas le voir.

Vu toutes les améliorations je mets 10/10.

A+.
cs_barbichette
Messages postés
243
Date d'inscription
lundi 30 octobre 2000
Statut
Membre
Dernière intervention
15 juillet 2013
-
@pseudo3 : voilà, j'ai modifier le code pour avoir un petit message de redimensionnement de la fenêtre finale...

@cirec:
J'ai aussi modifié le thread pour ne plus presser le CPU comme un citron.
Par contre, la modif proposé ne marchait pas suivant que je compilais avec D7 ou D2009.
J'ai donc repris le code ici : http://www.delphiarea.com/downloads/ pour la gestion des threads et utilisé son TBackgroundWorker, simple mais efficace.
Je joint dans le zip le package original, mais pour mon code, le composant tbackgroundworker est crée dynamiquement, donc pas besoin de l'installer.
J'aime bien ce thread sous forme de composant car il est facile à mettre en oeuvre.

Merci pour toutes ces remarques.

A+
cs_pseudo3
Messages postés
270
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
7 juin 2018
-
Re-bonjour,

Mille excuses, vérification faite le GDIPUtil.pas est effectivement dans le Zip, mais dans ma précipitation j'ai bêtement omis de sélectionner son *.dcu dans le sous-répertoire Lib de Delphi-6 lorsque j'y ai transféré les *.dcu des autres *.pas !!!

A+.
Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32 -
@Pseudo3:

je viens de re-re-télécharger le zip et il est complet !!!!!
le fichier GDIPUtil.pas se trouve bien dans le répertoire "PAS" !!!!!

c'est à toi de placer ces unités dans un répertoire dont de chemin est connu
de l'IDE.
cs_pseudo3
Messages postés
270
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
7 juin 2018
-
Re-bonjour,

Pour info : Je viens de passer en revue la totalité des démos du Zip de http://www.progdigy.com/files/gdiplus.zip mais pour certaines démos (une dizaine) j'ai eu le message [Erreur fatale] GDITEST31.dpr(9): Fichier non trouvé : 'GDIPUTIL.dcu' donc ce Zip était incomplet (scro-nieu-nieu !!!) ... mais par chance j'ai pu trouver le code de GDIPUTIL.pas ici : http://4coder.org/delphi-source-code/561/GDI_Path_Text/GdipUtils.pas.html
(ça évitera peut-être à quelqu'un de se laisser piéger).

A+.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.