Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/22: Рейтинг темы: голосов - 22, средняя оценка - 4.64
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128

Фильтрация цвета

23.06.2012, 16:34. Показов 4570. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Мне поставлена задача на практику, нужно построить правила для выбраного фрагмента цвета путем YCbCr-преобразования, можно расширить и на YUV и на YIQ.
Посоветуйте с чего луче начать. Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.06.2012, 16:34
Ответы с готовыми решениями:

Передача цвета строк и цвета текста из stringgrid в excel и обратно
Доброго дня. Интересует вопрос передачи цвета строк и цвета текста из stringgrid в excel и желательно обратно, а так же формирование шапки...

Сформировать на экране N кругов (красного цвета) и N ромбов (синего цвета)
с клавиатуры набирается число N. Сформировать на экране N кругов (красного цвета) и N ромбов(синего цвета), заполняющих всё окно по...

Изменение цвета текста, когда код цвета берется с сервера
Есть задание : Отправить на сервер название цвета, получить от сервера цвет в формате RGB и изменить цвет текста в поле на полученный от...

55
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
25.11.2012, 15:26  [ТС]
Студворк — интернет-сервис помощи студентам
Помогите пожалуйста я не разберусь почему у меня не нажимается SpeedButton и не выводит RGB на Memo
Вложения
Тип файла: rar 7.rar (1.96 Мб, 5 просмотров)
0
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
26.11.2012, 18:10  [ТС]
Вот код, может здесь ошибся

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
 
if (SpeedButton1->Down)
        {
        TColor color=Form1->Canvas->Pixels[X][Y];
        AnsiString str = Caption="R="+IntToStr(GetRValue(color))+";G="+IntToStr(GetGValue(color))+";B="+IntToStr(GetBValue(color));
        Memo1->Clear();
        Memo1->Lines->Add(str);
        }
 
if  (SpeedButton1->Down)
        {
        TColor color=Image1->Canvas->Pixels[X][Y];
        int Y1,Cb1,Cr1=
        Y1= 0.299*(GetRValue(color)) + 0.587*(GetGValue(color)) + 0.114*(GetBValue(color));
        Cb1= -0.299*(GetRValue(color)) - 0.587*(GetGValue(color)) + 0.886*(GetBValue(color));
        Cr1= 0.701*(GetRValue(color)) - 0.587*(GetGValue(color)) - 0.114*(GetBValue(color));
 
        String str = "Y=" + IntToStr( Y1 ) + "; Cb=" + IntToStr( Cb1 ) + "; Cr=" + IntToStr( Cr1 );
        Memo1->Lines->Add( str );
 
 
        TrackBar1->Position=Y1;
        TrackBar2->Position=Cb1;
        TrackBar3->Position=Cr1;
        }
if (SpeedButton1->Down)
        {
        TColor color=Image1->Canvas->Pixels [X][Y];
        int Y2,U1,V1=
        Y2= 0.299*(GetRValue(color)) + 0.587*(GetGValue(color)) + 0.114*(GetBValue(color));
        U1= -0.147*(GetRValue(color)) - 0.289*(GetGValue(color)) + 0.436*(GetBValue(color));
        V1= 0.615*(GetRValue(color)) - 0.515*(GetGValue(color)) - 0.100*(GetBValue(color));
 
        /*
        Y = 0.299* R + 0.587*G + 0.114* B;
        U = -0.147* R - 0.289*G + 0.436* B;
        V = 0.615* R - 0.515*G - 0.100* B;
        */
 
        String str = "Y=" + IntToStr( Y2 ) + "; U=" + IntToStr( U1 ) + "; V=" + IntToStr( V1 );
        Memo1->Lines->Add( str );
 
 
        TrackBar4->Position=Y2;
        TrackBar5->Position=U1;
        TrackBar6->Position=V1;
        }
}
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
26.11.2012, 19:07
Цитата Сообщение от omega24v Посмотреть сообщение
почему у меня не нажимается SpeedButton
Чтобы кнопка фиксировалась и в нажатом состоянии, и имела два положения, нужно её групп.индекс изменить на ненулевой, а свойство AllowAllUp установить в true.
0
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
26.11.2012, 19:35  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
Чтобы кнопка фиксировалась и в нажатом состоянии, и имела два положения, нужно её групп.индекс изменить на ненулевой, а свойство AllowAllUp установить в true.
Хм ставил значение true, ничего не помогло, может где то ещё накосячил
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
26.11.2012, 20:45
Может групповой индекс не трогал? -вот так надо
1
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
26.11.2012, 21:24  [ТС]
В точку, но я не пойму почему она не принимает вид DownButton.

Цитата Сообщение от nick42 Посмотреть сообщение
Может групповой индекс не трогал?Вложение 205767 -вот так надо Вложение 205768
0
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
19.12.2012, 14:15  [ТС]
Ребята помогите с фильтрацией, очень прошу
0
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
19.12.2012, 14:39
Цитата Сообщение от omega24v Посмотреть сообщение
нужно построить правила для выбраного фрагмента цвета путем YCbCr-преобразования
правила чего нужно построить?
0
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
19.12.2012, 14:48  [ТС]
Цитата Сообщение от Sor Посмотреть сообщение
правила чего нужно построить?
Мне нужно взять среднее число по RGB и занести число в массив, установить через цикл ограничения для модели RGB и принять цвет белый или черный.
0
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
19.12.2012, 18:43
Получить среднюю яркость изображения и использовать как порог бинаризации? т.е если больше средней то черный, нет- белый, или наоборот.
1
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
19.12.2012, 19:14  [ТС]
Именно бинаризацию. Вот пару скринов, примерно так должно выглядеть
Миниатюры
Фильтрация цвета   Фильтрация цвета   Фильтрация цвета  

0
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
19.12.2012, 22:16
Цитата Сообщение от omega24v Посмотреть сообщение
Мне нужно взять среднее число по RGB и занести число в массив, установить через цикл ограничения для модели RGB и принять цвет белый или черный.
А зачем тогда язычки для других цветовых моделей? или язычками меняешь рисунок, а бинаризуешь все равно по RGB среднему?
Вторая картинка это что?
0
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
19.12.2012, 22:45  [ТС]
Цитата Сообщение от Sor Посмотреть сообщение
А зачем тогда язычки для других цветовых моделей? или язычками меняешь рисунок, а бинаризуешь все равно по RGB среднему?
Вторая картинка это что?
Язычки показывают изменения гамм когда я нажимаю на изображение, а на втором это место расположения пятна по x,y
0
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
19.12.2012, 23:44
язычки не элементы управления, а элементы отображения? конкретного пикселя или изображения в целом?
Вторую картинку я все равно не пойму, если она показывает красным на белом, то что показывается белом на черном, зачем она?
0
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
19.12.2012, 23:56  [ТС]
Конкретно пикселя, на бело черном показывается как раз те средние значения RGB белого и черного
0
 Аватар для omega24v
2 / 2 / 3
Регистрация: 20.06.2012
Сообщений: 128
04.02.2013, 11:18  [ТС]
Цитата Сообщение от Sor Посмотреть сообщение
Получить среднюю яркость изображения и использовать как порог бинаризации? т.е если больше средней то черный, нет- белый, или наоборот.
Да именно это, только этот порог должен браться с Edit как среднее значение

Вот нашел пару примеров
C++
1
2
3
4
5
6
7
8
9
for(i = bmp->Height-1; i >=2; --i)
{
    Scanline = (TRGBTriple *)bmp->ScanLine[i];
    for(j = bmp->Width-1; j>=0; --j)
    {
        if(window < 8)
        {
            R[window] = Scanline[j].rgbtRed;
            Rw[window] = R[window];
C++
1
2
Scanline[j+window-pixpos].rgbtRed = Rw[pixpos];
pixpos = pixpos+1;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2013, 11:18

Изменение цвета названия файла/папки (либо цвета подсветки)
Привет супер уважаемые супер форумчане!) Очень интересно, есть ли какой-то способ изменить цвет названия файла/папки, либо изменить цвет...

Изобразить три вертикальные полосы разного цвета на экране, которые меняют свои цвета
Прохожу учебную практику, имеется порядка 30 задач. С этими возникли трудности 1)модуль crt Изобразить три вертикальные полосы...

Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы
1. Задайте изменение цвета кнопок и цвета шрифта на кнопках формы в ходе выполнения программы. 2. Создайте кнопку «Перемещение формы» ...

Изменение цвета прямоугольника, увеличивая или уменьшая составляющие цвета (почему не работает программа?)
2.2 Работа с кнопками и цветом Приложение позволяет изменять цвет прямоугольника, увеличивая или уменьшая составляющие цвета. Задание ...

Оперативное изменение цвета фона и цвета символов строки.
я уже задала строку,вывела на экран в виде бесконечно бегущей строки. осталось сделать оперативное изменение цвета фона и цвета символов...


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

Или воспользуйтесь поиском по форуму:
56
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru