2010-12-26 7 views
0

Weitere Informationen zum letzten Beitrag (präziser zu sein)Bitmap-Bildumwandlungs

hallo, ich Vorteile aus emgucv und zugleich agorge.net nehmen wollen.

Problem ich bin vor ist Typumwandlung

//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"); 

Wie kann ich diese beiden Arten auszutauschen.

Bitmap-> Bilder (zum Basisklasse)

z.B.

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

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

Grüßen shahzad

+0

einen Blick auf die grundlegendsten Konstruktor für Bitmap haben, um eine Instanz von einem Bild zu erstellen: http://msdn.microsoft.com/en-us/ library/ts25csc8.aspx –

Antwort

0

Eigentlich eine System.Image.Bitmap Klasse ist eine Bildklasse. Weitere Informationen finden Sie unter documentation. System.Drawing.Image is an abstract base class.

Soweit mit AForge geht, können Sie die grayscale class in Graustufen umwandeln können:

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

AForge des Graustufen-Klasse nimmt eine Bitmap-Instanz in dem Anrufübernehmen, so dass Sie einfach die Methode Bitmap.FromFile verwenden können .

Edit: einige weitere Informationen über AForge mit Skala

+0

+1, das habe ich gerade geschrieben. Image ist die Basisklasse für Bitmap. –

+0

Ja - nicht ganz sicher, ob dies die OP's Post beantwortet, aber Image zu wissen ist ABC definitiv hilft;) – kidjan

+0

Danke für die Antwort. aber agin wie kann – Shahgee

0

Emgu CVs Image-Klasse grau zu konvertieren hat eine ToBitmap() Methode.

So ist es so trivial, wie:

image1.ToBitmap(); 
+0

thanx, ich konvertierte gerade als Bild image2 = new Image (greyImage); und arbeitet. – Shahgee