интенсивность пикселя

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
IVAN008
Обычный пользователь
Обычный пользователь
 
Сообщения: 63
Зарегистрирован: 15.02.2005 (Вт) 12:19

интенсивность пикселя

Сообщение IVAN008 » 18.03.2005 (Пт) 20:35

Как мне узнать инетнсивность свечения пикселя в точке.
Я получаю значение цвета с помощью GetPixel, но что мне делать дальше с этим числом не особо представляю. Мне надо получить значение интенсивности свечения пикселя в пределах от 0 до 255.
Как это сделать?

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 18.03.2005 (Пт) 20:53

В смысле "инетнсивность"??
Яркость пикселя?

По конкретней :wink:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

IVAN008
Обычный пользователь
Обычный пользователь
 
Сообщения: 63
Зарегистрирован: 15.02.2005 (Вт) 12:19

Сообщение IVAN008 » 18.03.2005 (Пт) 21:06

да можно сказать и так
я вот тут полазил чуток и нашел
Color=GetPixel...
R=Color\65536
G=(Color and 65535)\256
B=Color and 255
но что то пока не понял
может кто растолкует поподробнее
в принципе получив R G B, можно вычислить их среднее это и будет яркость точки. Я прав???
Буду благодарен если кто подскажет что это за цыфры на которые надо делить и умножать Color, и откуда они беруться

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 18.03.2005 (Пт) 21:37

Яркость=0.3 Red + 0.59 Green + 0.11 Blue

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 18.03.2005 (Пт) 21:42

IVAN008 писал(а):я вот тут полазил чуток и нашел
Color=GetPixel...
R=Color\65536
G=(Color and 65535)\256
B=Color and 255
но что то пока не понял
Я вот тоже такую хрень находил, как ты. И долго-долго не мог понять, почему моя прога тормозит как собака. Оказалось, что не
Код: Выделить всё
R=Color\65536
G=(Color and 65535)\256
B=Color and 255
, а
Код: Выделить всё
B=Color\65536
G=(Color and 65535)\256
R=Color and 255
И еще красивее и понятнее
Код: Выделить всё
B=Color \ &H10000
G=Color \ &H100 mod &H100
R=Color mod &H100

IVAN008
Обычный пользователь
Обычный пользователь
 
Сообщения: 63
Зарегистрирован: 15.02.2005 (Вт) 12:19

Сообщение IVAN008 » 18.03.2005 (Пт) 22:34

2vvs_adm
Тока что нашел этот глюк и уже исправил, но до такого красивого решения как у тебя пока не допер :-) Спасибо
А вот насчет множителей при значении цветов... блин полдня ищу.
Спасибо огромное!!

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 19.03.2005 (Сб) 0:31

vvs_adm писал(а):Яркость=0.3 Red + 0.59 Green + 0.11 Blue


А почему именно эти числа?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.03.2005 (Сб) 6:48

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

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 19.03.2005 (Сб) 8:31

GSerg писал(а):Подобраны на основе разной чувствительности глаза к разным участкам спектра...
То есть если тебе зеленым карандашом в глаз тыркнуть, то это почти в два раза больнее, чем красным? А синим вообще хоть обторкайся?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 21:00

Нет, если в глаз тыкнуть зеленым карандашом (а равно, красным или синим), то интенсивность любых пикселов уменьшится в два раза. А если тыкнуть второй раз в другой глаз, то интенсивность станет равной 0.
Lasciate ogni speranza, voi ch'entrate.

Arcanoid
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 01.01.2005 (Сб) 15:44

Сообщение Arcanoid » 19.03.2005 (Сб) 23:19

vvs_adm писал(а):Яркость=0.3 Red + 0.59 Green + 0.11 Blue

Это так вроде в JPEG'е яркость определяется? Но её диапазон не от 0 до 255, а меньше

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 21.03.2005 (Пн) 11:02

Э-э, а нельзя так:

Яркость=sqrt(red^2+green^2+blue^2)

?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.03.2005 (Пн) 11:11

Неправильно так, правильную формулу давал vvs_adm. А GSerg причину приводил, что сетчатка глаза обладает разной чувствительностью к различным диапазонам спектра.
Lasciate ogni speranza, voi ch'entrate.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 21.03.2005 (Пн) 11:39

Ну, что значит "неправильно"? Параметры, подобранные экспериментальным путем, уже наверняка субъективны. Я пытался своим способом картинки из RGB в grayscale переводить - выглядело вполне пристойно.

Я, при этом, совсем не утверждаю, что способ с коэффициентами неправильный или хуже работает.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.03.2005 (Пн) 11:45

Причем тут экспериментальный путь?
Это коэффициенты не с потолка взяты.
Lasciate ogni speranza, voi ch'entrate.

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 21.03.2005 (Пн) 12:57

alibek писал(а):Причем тут экспериментальный путь?
Это коэффициенты не с потолка взяты.


действительно не с потолка
ключевое слово: Баланс Белого
//<-
Mit freundlichen Grüßen
//->

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 21.03.2005 (Пн) 13:03

GSerg писал(а):Подобраны на основе разной чувствительности глаза к разным участкам спектра


Как можно оценить чувствительность глаза, если не экспериментальным путем? И очевидно, что у разных глаз эта чувствительность будет разной (особенно, если в один из них воткнут зеленый карандаш).

Раз уж речь про это зашла - объясните вкратце, что такое баланс белого?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 117

    TopList