Я новичок в Visual Basic, в прошлом я занимался обработкой изображений в Matlab. Но на данный момент требуется обработка изображений в Visual Basic. Хорошо, я смог отобразить изображение и прочитать его при преобразовании в оттенки серого. Однако мое изображение находится в формате jpeg, и я продолжаю работать в функции Bitmap только для изображений BMP в нескольких учебниках по конвертерам оттенков серого, и мой код продолжает создавать ошибки для попыток манипуляции с форматом JPEG. Как читать в jpeg и выполнять манипуляции с оттенками серого. Вот код.Преобразование RGB в шкалу серого?
Public Class Form1
Private Sub showButton_Click(sender As System.Object, e As System.EventArgs) Handles showButton.Click
' Show the Open File dialog. If the user clicks OK, load the
' picture that the user chose.
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
PictureBox1.Load(OpenFileDialog1.FileName)
End If
End Sub
Private Sub GrayImageButton_Click(sender As System.Object, e As System.EventArgs) Handles GrayImageButton.Click
Dim bm As New jpeg(PictureBox1.Image)
Dim X As Integer
Dim Y As Integer
Dim clr As Integer
For X = 0 To bm.Width - 1
For Y = 0 To bm.Height - 1
clr = (CInt(bm.GetPixel(X, Y).R) + _
bm.GetPixel(X, Y).G + _
bm.GetPixel(X, Y).B) \ 3
bm.SetPixel(X, Y, Color.FromArgb(clr, clr, clr))
Next Y
Next X
PictureBox1.Image = bm
End Sub
Ошибка Я ПОЛУЧАТЬ является
Error1: Значение типа 'WindowsApplication1.jpeg' не может быть преобразован в 'System.Drawing.Image'.
Когда я реализую это с изображением BMP, он отлично работает, но не с jpeg. Буду благодарен за любую помощь в этом вопросе. Thanks
, чтобы отобразить растровое изображение, код был в этом формате –
Чтобы отобразить растровое изображение, код был в этом формате как показано выше, но для второй части вышеприведенного кода с размером Dim, я заменяю jpeg и используемый Bitmap, и он работал для изображений BMP. Так что я посетил сайт, как я понял, второй файл исходного кода на этой странице преобразует jpeg, чтобы он мог быть совместим с визуальным базовым. Спасибо –