К содержимому

Преобразование цветного рисунка в монохромный

Содержание номера · 14 из 18

Задача 7.

Выполнить преобразование цветного рисунка в полутоновой (оттенки серого).

Решение (Visual Basic)

Как мы знаем, серый цвет в системе RGB реализуется при равных значениях яркости всех трех основных цветовых составляющих, т.е. когда R = G = B. Но какую из них, полученную из исходного рисунка, выбрать в качестве «базовой»? Самый простой вариант ‒ вычислить их среднее арифметическое.

Private Sub Command6_Click()
Picture2.Height = Picture1.Height
Picture2.Width = Picture1.Width
Picture2.Cls
For i = 1 To Picture1.ScaleWidth
For j = 1 To Picture1.ScaleHeight
colpix = Picture1.Point(i, j)
rcol = colpix And &HFF
gcol = Int(colpix \ &H100) And &HFF
bcol = Int(colpix \ &H10000) And &HFF
monocolor = (rcol + gcol + bcol) \ 3
rcol = monocolor
gcol = monocolor
bcol = monocolor
Picture2.PSet (i, j), RGB(rcol, gcol, bcol)
Next j
Next i
End Sub

Статья обрывается здесь. Весь номер — 18 статей — 190 ₽ (≈ 11 ₽ за статью), остаётся у вас навсегда.

Войти, чтобы купить
  1. 15 Выделение цветового канала
  2. 16 Выделение контуров изображения
  3. 17 Динамическое преобразование рисунка

Первая статья открыта всем — читать «Введение»