begin process at 2010 02 10 11:25:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > IMAGES : FILTRES PAR CONVOLUTION

IMAGES : FILTRES PAR CONVOLUTION


 Information sur la source

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Source .NET ( DotNet ) Classé sous :image, bitmap, unsafe, stackalloc, filtres Niveau :Débutant Date de création :03/11/2006 Date de mise à jour :04/11/2006 11:25:36 Vu / téléchargé :12 597 / 753

Auteur : tkfe

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici une classe présentant un ensemble de filtres dit de convolutions (on applique une matrice à chaque pixel de l'image).

Voici un exemple de matrice que l'on peut appliquer au pixel
-1 | -2 | -1
-2 | 16 | -2
-1 | -2 | -1

afin de réhausser la netteté de l'image.

Cette source se caractérise par l'emploi de quelques tableaux non affectés au tas managé, mais se situant dans la zone mémoire réservée à la méthode, ce qui donne de la rapidité dans les traitements. L'instruction "stackalloc" est employée à cet effet. Dans les boucles, j'ai essayé d'économiser des instructions IL afin de gagner du temps processeur.

Vous pouvez créer vos propres filtres en créant vos matrices 3x3 ou 5x5 ou plus avec les coefficients souhaités. Le terme facteur est en général la somme des coefficients. Un offset peut être appliqué à l'ensemble.


 Conclusion

Le fonctionnement est simple :

Filtres.Relief(maBitmap);

on reprend la référence de maBitmap qui a été traitée. Attention, à ne passer que des images au format 32Arbg.
Si celle-ci n'est pas au format 32Argb, vous pouvez en général en créer une à ce format par :
Bitmap image32 = new Bitmap(maBitmap);
Filtres.Accentuation(image32);

Dernière précision importante, la transparence est conservée !

Remerciement :
Je tiens à remercier Brunews (Bruno Nati) pour les conseils d'optimisation qu'il promulgue un peu partout dans les communautés.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

04 novembre 2006 11:25:36 :
Ajout d'un visuel :)

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) IMAGES : EFFET PEINTURE
Source avec Zip Source avec une capture Source .NET (Dotnet) IMAGES : FILTRES D'ACCENTUATION
Source avec Zip Source avec une capture Source .NET (Dotnet) IMAGES : LE FILTRE MÉDIAN
Source avec une capture Source .NET (Dotnet) IMAGES : DITHERING PAR MOTIF

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) NOTIFICATIONS DANS UN DELEGATE ASYNCHRONE par olivieram2
Source avec Zip Source avec une capture Source .NET (Dotnet) PIXEL SHADER - CRÉATION, UTILISATION, ET BINDING par yoannd
Source avec Zip Source avec une capture Source .NET (Dotnet) UITYPEEDITOR HACKING, PROPERTYGRID ET LISTVIEW CONFIGURABLES... par gourky
Source avec Zip Source .NET (Dotnet) CONVERTION D'UNE IMAGE EN G-CODE, GRAVURE CNC par gourky
Source avec Zip Source .NET (Dotnet) CAROUSEL EN WPF (USERCONTROL) par CoolSpirit

 Sources en rapport avec celle ci

Source avec Zip REDIMENSION D'IMAGE EN C# par VinceMonkeyz
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPLORER LA MFT D'UNE PARTITION NTFS par Willi
Source avec Zip Source .NET (Dotnet) CONVERTION D'UNE IMAGE EN G-CODE, GRAVURE CNC par gourky
Source avec Zip Source avec une capture Source .NET (Dotnet) TRAITEMENT D'IMAGES EN MASSE par taupe4
Source avec Zip Source avec une capture Source .NET (Dotnet) CACHER DU TEXTE DANS UNE IMAGE PAR STÉGANOGRAPHIE par Bidou

Commentaires et avis

Commentaire de sebmafate le 03/11/2006 18:45:19 administrateur CS

Génial... t'aurais pas une image voir ce que ca fait ?

Commentaire de t_barbillon le 26/12/2006 12:43:10

Excellent

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

dessiner un graphics sur une image contenue dans une pictureBox [ par godefrw ] Bonjour, je cherche à afficher un objet Graphics (sur lequel j'ai dessiner des formes rectangles, rond etc) par dessus une image. Mon image est conte pb d'affichage avec directx / c# [ par amorosalain ] SAMJ'essaye d'afficher une image par dessus mon espace 3D. J'utilise donc des PositionNormalTextured pour mon environnement 3D et je voulais utiliser Bitmap: colorisation de pixels...Help! [ par Zekez ] Bonjour,Voilà, j'ai un petit problème de colorisation d'une Bitmap... Je dois effectuer un remplissage de couleur (comme dans Paint) et je d declarer une image, comment??? [ par Fildomen ] salutje veux faire :Image im = new Image();et ca marche po :-[vous pouvez me dire comment declarer une nouvelle image?mercisinon, comment utiliser l Bitmap à partir d'une fenêtre... Help! [ par Zekez ] Bonjour,je suis en train de faire une application en C# dans laquelle j'ai besoin d'insérer une sorte de printscreen d'une fenêtre dans une class Bitmap obscur [ par sebseb42 ] Salut a tous, j'ai un truc plutot bizarre, je cherche a compresser des images a la voler sans passer par le disque-dur.je fait ceci :public Truc(Bitma Déclaration de bitmap [ par mael45 ] Bonjour Je fais un travail pour l'école et là je suis complétement bloqué.Je dois pouvoir dessiner à chaque clic de souris su Double buffering et lenteur d'affichage [ par takamura ] Bonjour j'essaye de  réaliser un logiciel tout bête qui affiche la map d'un jeu.je souhaite que l'on puisse zoomer /dezoomer sur cette Conversion d'un Bitmap en Tableau a 2 dimension [ par astragoth66 ] Bonjour, j'aimerai savoir s'il est possible de convertir une image Bitmap, en un tableau à 2 dimension. pouvoir regarder les pixels de mon image Impossible de visualiser un bitmap sous Photoshop ou IE... [ par robbielove ] Bonjour,Je cherche à transformer les couleurs d'une image. Pour cela je crée un bitamp aux dimensions de l'image origianle, je remplis le bi


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 1,466 sec (3)

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