Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
prank2007
 Аватар для prank2007
0 / 0 / 0
Регистрация: 01.07.2012
Сообщений: 64
#1

RGB компоненты изображения - C++

13.09.2012, 15:27. Просмотров 663. Ответов 1
Метки нет (Все метки)

помогите правильно написать условие изменения пикселей изображения. У меня задача, что при щелчке кнопкой мыши на изображение, задаются RGB параметры этого пикселя (R2,G2,B2), например (100,100,100) все эти пиксели изображения нужно заменить на красные (255,0,0).

C++
1
2
3
4
5
if (Image2->Canvas->Pixels[x][y] == RGB(R2,G2,B2))
 
{
Image2->Canvas->Pixels[x][y] = RGB(255,0,0);
}
а мне надо чтобы похожие пиксели отличающиеся где-то на 10 значений по каждому цветовому каналу тоже заменялись, например (95,103,99), (100,103,98) и т.д.
по сути должно быть:
C++
1
2
3
4
5
6
7
8
9
10
DR1=R2-10;
DG1=G2-10;
DB1=B2-10;
DR2=R2+10;
DG2=G2+10;
DB2=B2+10;
if (Image2->Canvas->Pixels[x][y] == RGB((DR1<R2<DR2),(DG1<G2<DG2),(DB1<B2<DB2)))
{
Image2->Canvas->Pixels[x][y] = RGB(255,0,0);
}
ничего не происходит
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 15:27     RGB компоненты изображения
Посмотрите здесь:

Найти темный и светлый цвет RGB C++
C++ Как вытянуть RGB из COLORREF?
C++ Graphics: YUV -> RGB conversion
C++ Упорядочить компоненты вектора так, чтобы сначала размещались все отрицательные компоненты, а затем положительные
Как считывать изображение RGB в массив? C++
Артефакты при компрессии RGB->DXT5 C++
Преобразование изображения из цветовой модели RGB в модель HSL C++
Получить цвет пикселя в RGB C++
C++ Найти приблизительный цвет RGB
C++ Использование RGB в консоли
Получить цвет каждого пикселя изображения, разбив на уровни RGB C++
Вывод цвета RGB на Светодиод C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1479 / 1055 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.09.2012, 00:06     RGB компоненты изображения #2
каждый цветовой канал нужно подвергнуть проверке. по какому условия - "и" или "или" - не понятно.
ну вот примерный вариант в полупсевдокоде с "и"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const RGBColor color = Image2->Canvas->Pixels[x][y];
const Byte r = GetRedColor(color);
const Byte g = GetGreenColor(color);
const Byte b = GetBlueColor(color);
 
// ну и дальше цепочка сравнений вроде
const bool needChange =  (90 <= r && r <= 110)
                      && (90 <= g && g <= 110)
                      && (90 <= b && b <= 110)
                      ;
if (needChange)
{
  Image2->Canvas->Pixels[x][y] = RGB(255,0,0);
}
Yandex
Объявления
14.09.2012, 00:06     RGB компоненты изображения
Ответ Создать тему
Опции темы

Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru