2017-06-26 2 views
0

Hallo habe ein Bild, das ich in schwarz und weiß und in 2-Bit-Tiefe konvertieren muss.Get Schwarz-Weiß 2 BIT-Bild mit Emgu CV

Ich versuchte folgendes und es erzeugt ein Bild mit 8 Bit. Keine Option zum Generieren eines 2-Bit-Bildes.

Emgu.CV.Image<Gray, Single> image = new Emgu.CV.Image<Gray, Single>("test.jpg"); 

Kann jemand bitte beraten?

Antwort

0

In emgucv Sie haben folgendes Bild Tiefe

Byte, SByte, Einzel (float), Double, UInt16, Int16, Int32 (int) (von emgucv)

Sie haben noch eine 2 Bittiefe. Aber Sie können ein Bild, das wie ein 2-Bit-Bild wie folgt aussieht:

var theImage = new Image<Gray, byte>(@"d:\temp\lena.jpg"); 
     for (int i = theImage.Rows - 1; i >= 0; i--) 
     { 
      for (int j = theImage.Cols - 1; j >= 0; j--) 
      { 
       if(theImage.Data[i,j,0]>byte.MaxValue/2) 
       { 
         theImage.Data[i, j, 0] = byte.MaxValue; 
       } 
       else 
       { 
        theImage.Data[i, j, 0] = 0; 
       } 

      } 
     } 
Verwandte Themen