Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Моделирование, изометрия, photoshop, 3d редакторы
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 31.05.2017, 12:19   #1
4elovek_37
Новичок
 
Регистрация: 31.05.2017
Адрес: Москва
Сообщений: 1
Репутация: 10
По умолчанию Расчет контраста для канала изображения

Здравствуйте! Нужно рассчитать контраст для заданного канала изображения, полученного со спутника (вообще, для спутников должен поставляться т.н. "Паспортный контраст", но нередко он неизвестен и я пытаюсь посчитать его самостоятельно).

В интернете практически не нашел информации об оценке контраста изображения в целом, а не локального контраста. Из найденного (к, сожалению, ссылки нет под рукой) подошло вот это:

СКО * 2 / MaxVal,
где СКО - среднеквадратичное отклонение, MaxVal - максимальное значение пиксела на изображении

С учетом возможности использования знаковых типов данных, а также возможности неполного использования этих типов, получил примерно вот это:
Код:

/// ...
        double dLimit, dRealMaxGrad, dRealMinGrad;
    int power;
 
    dLimit = sqrt(dMax);//dMax - max для типа данных 
    for(power = 0; power <= dLimit; ++power)
    {
        dRealMaxGrad = pow(2.0, power) - 1;
        if(stats->max > dRealMaxGrad)
            continue;
        else
            break;
    }
 
    if(stats->min < 0)
    {
        dLimit = sqrt(abs(dMin));//dMin - min для типа данных 
        for(power = 0; power <= dLimit; ++power)
        {
            dRealMinGrad = pow(2.0, power);
            if(abs(stats->min) > dRealMinGrad)
                continue;
            else
                break;
        }
    }
    double dContrast_first = stats->stddev * 2 / (dRealMaxGrad + dRealMinGrad);// итоговая формула

Значения оценки получаются в принципе адекватными, но ожиданиям не соответствуют. К примеру, для снимков, где Паспортный контраст ~ 0.20 - 0.30 я получаю оценку в 0.11. Как это интерпретировать я пока не знаю. К тому же, при прогоне на R канале RGB изображения, выглядящего как черный квадрат на белом фоне, способ дал 0.22, что не может быть правдой.

Попробовал изобрести велосипед и считать по-своему: Mid-Range от градиентов с 8 соседними пикселами для каждого пиксела, затем считать Mid-Range от полученных значений для каждой строки, и затем считать Mid-Range от полученного столбца. После этого нормировать полученное значение путем деления на (dRealMaxGrad + dRealMinGrad).
Результаты, полученные данным способом, лежат ближе к ожидаемым (к примеру, для упомянутого изображения получил 0,25), но не слишком стабильны, и самое главное, у меня нет математического обоснования, почему этот метод правильный. А использовать на основе "ну, вроде получилось" - плохая идея.

Кто-нибудь сталкивался с подобной задачей, может быть подскажете гарантированных способов получить контраст для канала?

И не менее важный вопрос - у кого-нибудь не завалялось изображений с заранее известным контрастом?
4elovek_37 вне форума   Ответить с цитированием
Ответ



Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу немножко похулиганить:))) комментировать футбольные мачти в прямом эфире. Как я думаю, для этого нужно настроить передатчик на ту же частоту, что и звуковая волна от ТВ-канала ak167 Микроконтроллеры, робототехника, схемотехника, 3D принтеры 14 13.09.2016 17:23
Телевизионный алгоритм изменения контраста. Mr_freeman Помощь студентам 0 15.11.2012 20:08
1С загрузка канала Mortimoro Операционные системы общие вопросы 1 11.07.2011 22:56
Расчет количества пикселей для отображения записи Lokos Общие вопросы Delphi 11 07.04.2011 08:33
Antialiasing для ARGB канала BOBAH13 Общие вопросы по программированию, компьютерным наукам 1 10.05.2010 22:15




10:53.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru