2017-01-28 11 views
1

Я работаю над проектом OMR, где мне нужно инвертировать изображение с помощью AForge.NET с помощью VB.NET. Я использую этот код -Инвертировать изображение с AForge.NET в VB.NET

Private Sub Load_Butt_Click(sender As Object, e As EventArgs) Handles Load_Butt.Click 
    ' load image 
    Dim image As Bitmap = AForge.Imaging.Image.FromFile("c://test.bmp") 
    ' create invert filter 
    Dim filter As New Invert() 
    Dim inv_img As Bitmap 
    ' apply the invert filter 
    inv_img = filter.Apply(image) 
    PictureBox1.Image = inv_img 
End Sub 

Это говорит не ошибка. Но когда я запускаю это я получаю сообщение об ошибке, что says-

необработанное исключение типа 'AForge.Imaging.UnsupportedImageFormatException' произошло в AForge.Imaging.dll

. See Screenshot

ответ

0

Проблемы была с пиксельной format.I я проводка рабочего кода надеясь, что это может помочь другому someday-

Public image As Bitmap = AForge.Imaging.Image.FromFile("c://test.bmp") 

Public inv_img As Bitmap 

Public Sub ApplyFilter(filter As IFilter) 
    ' apply filter 
    inv_img = filter.Apply(image) 
    ' display image 
    PictureBox1.Image = inv_img 
End Sub 
Public Sub Load_Butt_Click(sender As Object, e As EventArgs) Handles Load_Butt.Click 


    ' check pixel format 
    If (image.PixelFormat = PixelFormat.Format16bppGrayScale) OrElse (Bitmap.GetPixelFormatSize(image.PixelFormat) > 32) Then 
     MessageBox.Show("The demo application supports only color images.", "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error]) 
     ' free image 
     image.Dispose() 
     image = Nothing 
    Else 
     ' make sure the image has 24 bpp format 
     If image.PixelFormat <> PixelFormat.Format24bppRgb Then 
      Dim temp As Bitmap = AForge.Imaging.Image.Clone(image, PixelFormat.Format24bppRgb) 
      image.Dispose() 
      image = temp 
     End If 
    End If 


    ApplyFilter(New Invert()) 
End Sub