Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Работа с изображением на C#

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 23.11.2012, 17:17   #1
 Разведчик
Аватар для Sharina_real
 
Sharina_real никому не известный тип
Регистрация: 16.11.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Работа с изображением на C#

Здравствуйте, У меня есть изображение расположенное на pictureBox и мне нужно :
1) Вывести на экран матрицу значения яркости этого изображения.
2)Построение гистограммы яркости этого же изображения.

Я знаю как работать с изображением на Матлабе, но очень нужно научиться и на C#.
Помогите пожалуйста ((

Последний раз редактировалось Sharina_real; 23.11.2012 в 17:22. Причина: Забыла настроить
  Ответить с цитированием
Старый 23.11.2012, 18:19   #2
Заблокирован
 Рыцарь-капитан
Аватар для warl0ck
 
warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(
Регистрация: 29.01.2010
Сообщений: 547
Популярность: 41279
Сказал(а) спасибо: 692
Поблагодарили 2,270 раз(а) в 1,035 сообщениях
 
По умолчанию Re: Работа с изображением на C#

Цитата:
Сообщение от Sharina_realПосмотреть сообщение
1) Вывести на экран матрицу значения яркости этого изображения.

матрицу яркости? это как

{ 255, 255, 255, 255 } ?

Последний раз редактировалось warl0ck; 23.11.2012 в 19:36.
  Ответить с цитированием
Старый 23.11.2012, 19:58   #3
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Работа с изображением на C#

если я не ошибаюсь то формула яркости пикселя = sqrt( .241 * R^2 + .691 * G^2 + .068 * B^2 )
на шарпе будет выглядеть так
Код:
private int Brightness(Color c)
{
   return (int)Math.Sqrt(
      c.R * c.R * .241 + 
      c.G * c.G * .691 + 
      c.B * c.B * .068);
}
Дальше проходим по каждому пикселю изображения методом [Ссылки могут видеть только зарегистрированные пользователи. ] и берем среднеарифметическое яркости(тут может быть проблема, ибо я не шарю)
Матрица цвета будет выглядеть так
Код:
float[][] matrix = 
{
    new float[] { 1, 0, 0, 0, 0 },   // Контраст красного
    new float[] { 0, 1, 0, 0, 0 }, // Контраст зеленого
    new float[] { 0, 0, 1, 0, 0 },  // Контраст синего
    new float[] { 0, 0, 0, 1, 0 }, // Контраст альфы
    new float[] { brightness, brightness, brightness, 0, 1 } // Яркость
};
Добавлено через 2 минуты
А лучше напиши, как это выглядит в матлабе, ну или хотя-бы алгоритм, а я подскажу код на шарпе

Добавлено через 27 минут
я тут подумал, че-то я перемудрил с формулой, нафига возводить в квадрат если извлекаем корень, вариант номер 2:
яркость = .241 * Red + .691 * Green + .068 * Blue
Код:
private int Brightness(Color c)
{
   return (int)(
      c.R * .241 + 
      c.G * .691 + 
      c.B * .068);
}
В результате получим число от 0 до 255, если еще поделить на 255 то получим диапазон от 0 до 1, который можно подставлять в матрицу выше
________________
Talk is cheap. Show me the code
— Linus Torvalds

Последний раз редактировалось Yukikaze; 23.11.2012 в 20:25. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ

Метки
изображения, visual studio c#


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Проблема с изображением. Анальгин Общение и обсуждение 0 11.08.2011 12:27
[Помогите!] Работа с изображением в Delphi 7 NoName74 Вопросы и ответы, обсуждения 6 02.08.2011 15:48
Накидка с изображением Антараса Nebrasska Дополнения к серверам 5 12.06.2011 01:06
Щиты с изображением напитков с известными брендами TremkO Дополнения к серверам 0 06.08.2010 14:00

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 02:45.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net