С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 4

Определить яркость пикселя в HSB

18.05.2012, 20:30. Показов 2387. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сразу, во избежание суровых реплик в мой адрес, хочу предупредить - я не программист, и это мой первый большой опыт в написании программы.
Общая задача:
В .jpg-изображении считать пиксели, для каждого пикселя определить яркость (hsb имхо) и записать матрицу из яркостей пикселей построчно в текстовый файл.
Не могу разобраться как:
- ОПРЕДЕЛЯТЬ ЯРКОСТЬ ПИКСЕЛЯ;
- возможно есть проблема со считыванием пикселей циклом, я сама с ходу не определю точно.

Добавлено через 10 минут
Прилагаю код, пока не налаженный, совсем:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command_Button_Click(ByVal sender _
 As System.Object, ByVal e As System.EventArgs) Handles Command_Button.Click
        Dim c As Object
        Dim n, i, j As Integer
        Dim r, g, b As Integer
        Dim m As Bitmap
        Dim p As New Point(i, j)
        'n = FreeFile()
        'FileOpen(n, TextBox1.Text, OpenMode.Random)
        m = Image.FromFile(TextBox1.Text)
        Dim l As Color
        Dim k As New hsbcolor(l)
        PictureBox1.ImageLocation = TextBox1.Text
        For i = 1 To m.Width
            For j = 1 To m.Height
                l = m.GetPixel(i, j)
            Next
        Next
        'FileClose(n)
    End Sub
Были также предположения насчёт функции QBColor...

Добавлено через 3 минуты
Варианты применения RGB также приветствуются, потому как уже три дня пытаюсь найти в форумах и в справке понятное объяснение о том, как этим пользоваться.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2012, 20:30
Ответы с готовыми решениями:

Как определить альфа канал у пикселя на картинке?
Имеется изображение на форме. Нужно определить альфа канал пиклселя на который было произведено нажатие курсором мышки. Затем нужно...

Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно
Помогите пожалуйста! Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно

Яркость пикселя
Здравствуйте! Есть объект типа Color. Как определить яркость цвета?

8
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
18.05.2012, 20:35
Цитата Сообщение от Melly Посмотреть сообщение
определить яркость
Непонятно, что значит, яркость?

Можно получить цвет пиксела с картинки в формате R, G, B.
А как понять - яркий он или нет?
0
 Аватар для Юпатов Дмитрий
1721 / 1208 / 228
Регистрация: 23.12.2010
Сообщений: 1,544
18.05.2012, 21:55
Лучший ответ Сообщение было отмечено как решение

Решение

Цветовая модель HSB

Не по теме:

Памирыч, рецепт 9.25


Melly:
GetBrightnes
ну и прочие члены структуры color
4
 Аватар для SergKr
67 / 41 / 3
Регистрация: 07.12.2010
Сообщений: 328
03.11.2015, 10:05
А можно примерчик использования GetBrightness? А то я что-то вообще не догоню как эту функцию использовать. Мне нужно получить яркость пикселя на картинке (картинка чёрно-белая).
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
03.11.2015, 17:43
Melly, Диапазон яркости которую можно данным способом получить будет от 0.0 до 1.0, где 0.0 представляет черное, а 1.0 представляет белое.
0
 Аватар для SergKr
67 / 41 / 3
Регистрация: 07.12.2010
Сообщений: 328
04.11.2015, 07:42
Yury Komar, Ну хоть в этом деапозоне. А как? И ещё вопрос. А можно ли получить диапозон цвета (картинка чёрно-белая) от 0 до 255? И как? Или прийдётся раскладывать RGB?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
04.11.2015, 15:48
SergKr, ну я так понимаю что 1.0 = 255, отсюда пойдет в ход простейшая математика для определения значения в нужных вам единицах типа = 255.

Добавлено через 35 секунд
А насчет того - КАК почитайте по ссылкам выше.
0
 Аватар для SergKr
67 / 41 / 3
Регистрация: 07.12.2010
Сообщений: 328
05.11.2015, 17:37
Я смотрел по ссылкам. Ничего не понял. Примера нету?
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
05.11.2015, 20:37
Например
VB.NET
1
2
3
4
5
6
7
8
Dim pxRGB As Color = Color.FromArgb(196, 194, 194)
Dim pxH As Single = pxRGB.GetHue
Dim pxS As Single = pxRGB.GetSaturation
Dim pxB As Single = pxRGB.GetBrightness
Dim ss As String = "Hue (цветовой тон; 0-360) = " & pxH.ToString & vbCrLf & _
                    "Saturation (насыщенность; 0-1) = " & pxS.ToString & vbCrLf & _
                    "Brightness (яркость; 0-1) = " & pxB.ToString
MsgBox(ss)
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2015, 20:37
Помогаю со студенческими работами здесь

Яркость пикселя
Добрый день! Как можно получить яркость пикселя черно-белой картинки в Builder C++? Спасибо!

Яркость пикселя
Просветите, может ли яркость пикселя быть равной нулю?

Яркость пикселя Grayscale BMP
Прошу помощи в в решении следующего вопроса: имеется bmp изображение в градациях серого, соответсвтенно, с уровнями яркости в диапазоне...

Получить яркость пикселя в 8-битном изображении
Имеется вот такой класс для быстрого доступа к пикселям и расчета яркости пикселей для изображения на 8, 24 и 32 бит: public class...

Как получить яркость пикселя в visual studio
Здравствуйте, интересует: возможно ли получить яркость требуемого пикселя с картинки (jpg bmp png...) в VS (конкретно visual studio express...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru