2010-12-26 3 views
0

plus d'informations au dernier message (être plus précis)Bitmap à la conversion d'image

Salut, Je veux profiter des avantages de emgucv et en même temps agorge.net.

Problème Je suis face est la conversion de type

//EMGUCV 

Image<Bgr, Byte> image1 = new Image<Bgr, Byte>("file.jpg"); //read the image 

// AFORGE.net 
system.drawing.Bitmap image2 = (Bitmap)Bitmap.FromFile("file.jpg"); 

Comment puis-je échanger ces deux types.

Bitmap> l'image (à la classe de base)

par exemple

Bitmap grayImage = filter.Apply(image1.Bitmap); 

now want to use 
ImageViewer.Show(grayImage, "test"); //error 

agissant, shahzad

+0

Jetez un oeil au constructeur le plus fondamental pour Bitmap afin de créer une instance d'une image: http://msdn.microsoft.com/en-us/ library/ts25csc8.aspx –

Répondre

0

En fait, une classe de System.Image.Bitmap est une classe d'image. Voir le documentation pour plus d'informations. System.Drawing.Image is an abstract base class.

En ce que l'utilisation Aforge va, vous pouvez utiliser le grayscale class pour convertir en niveaux de gris:

// create grayscale filter (BT709) 
Grayscale filter = new Grayscale(0.2125, 0.7154, 0.0721); 
// apply the filter 
Bitmap grayImage = filter.Apply(image); 

classe Niveaux de gris de Aforge prend une instance Bitmap dans l'appel Appliquer, vous pouvez simplement utiliser la méthode Bitmap.FromFile .

Edit: un peu plus d'informations sur l'utilisation Aforge convertir en échelle de gris

+0

+1, j'écrivais juste cela. L'image est la classe de base pour Bitmap. –

+0

Ouais - pas tout à fait sûr si cela répond à la publication de l'OP, mais savoir que l'image est ABC aide définitivement;) – kidjan

+0

merci pour la réponse. mais agin comment – Shahgee

0

classe image de Emgu CV a une méthode ToBitmap().

Il est donc aussi trivial que:

image1.ToBitmap(); 
+0

merci, j'ai juste converti en image image2 = nouvelle image (grayImage); et travaille. – Shahgee

Questions connexes