![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| priest08 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 22.3.2008 Репутация: нет Всего: нет |
Есть picturebox с изображением, вожу по нему мышкой. Хотелось бы получить интенсивность цветов RBG изображения там, где находится курсор.
Вообще может кто-нибудь делал... Трассировка сосудов, алгоритмы есть, но все сводится к тому, чтобы определить разницу в интенсивности в соседних пикселях (производная в общем). Старт из центра сосуда, влево (вправо аналогично) +1 пиксель, разница в интенсивностях. Там, где разница максимальна - граница сосуда. Но вот что это за "интенсивность"? Везде написано, что от 0..255 (и так понятно), но цвета то три. Сам сосуд темный, фон заметно светлее... может есть какое-нибудь соотношение (например 0.2R+0.4B+0.4G или все с равными весами). Или перевести изображение из цветного в ч/б и смотреть интенсивность серого (если это возможно, как?). Заранее спасибо. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Цвета могут представляться не только в формате rgb. В частности есть форма HSB(Hue,Saturation, Brightness).
Первая величина показывает оттенок (от красного до фиолетового), вторая насыщенность (чем меньше тем цвет серее), а третья - яркость. Есть алгоритмы перевода, но при данной задаче достаточно воспользоваться методами System.Drawing.Color.GetHue() System.Drawing.Color.GetSaturation() System.Drawing.Color.GetBrightness() Только значения их лежат в интервале от 0 до 1, при необходимости можно умножить на 255 и округлить, просто бывают разные системы, параметр Hue, например иногда представляют в интервале от 0 до 360, для того, чтобы было удобнее изображать это дело в виде круга и т. д. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Да, кстати, если различия требуется найти по другим признакам, то вот я тут в википедии нашёл то, что может пригодится
http://ru.wikipedia.org/wiki/%D0%A4%D0%BE%...%87%D0%B8%D1%8F -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |