Autor
|
Tema: Obtener luminosidad de un pixel (Leído 5,933 veces)
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Hola gente. Estoy usando: imagecolorsforindex() para obtener los colores RGB de un pixel determinado de una imagen. Ahora necesito tomar la LUMINOSIDAD.. Verán que en PAINT se puede ver la LUMINOSIDAD, Matiz, Saturacion, y los colores RGB de cada pixel.
Hay en PHP alguna funcion para tomar ese valor?
Gracias tios!
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Estuve haciendo unos calculos... Puede ser que la luminocidad sea el 94% del promedio de los 3 valores RGB??
Por ejemplo, si tenemos 50 de R, 100 de G, y 150 de B, el promedio es 100, entonces la luminocidad es 94
??
|
|
|
En línea
|
|
|
|
Castg!
Wiki
Desconectado
Mensajes: 1.191
|
Primero, gracias por hacerme pensar, porq este tipo de cosas me encantan! ahora, jugando con gimp descubri que, el valor mas grande de rgb, sobre 2,55 va a dar igual la luminosidad. vamos por partes, la luminosidad es la cercania de un color al color blanco. entonces, si tenemos el color naranja rgb(255,128,0), el valor mas alto del rgb es el rojo, 255. entonces, 255 / 2,55 te va a dar un resultado de 100. entonces, el naranja tiene 100 de lluminosidad. otro ejemplo, si elegimos el marron rgb(128,65,0) otravez el valor mas alto es el rojo, entonces hacemos 128 / 2,55 y nos da 50,196078431 aproximando, 50. entonces este color tiene 50% de luminosidad. ahora, como estamos en subforo de php, te hago una funcion: function luminosidad($flotaRed,$flotaGreen,$flotaBlue) { $rgb = array($flotaRed,$flotaGreen,$flotaBlue); if(is_num($luminosidad)){ return $luminosidad; }else{ return false; } }
un saludo grande
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Paint dice que la luminosidad del Marron, es 60 Tendremos que seguir probando, porque mi tecnica del 94% del promedio, tambien es erronea
|
|
|
En línea
|
|
|
|
Castg!
Wiki
Desconectado
Mensajes: 1.191
|
pero probaste mi marron? ahora pruebo en paint
|
|
|
En línea
|
|
|
|
Castg!
Wiki
Desconectado
Mensajes: 1.191
|
pasa que gimp lo trata como porcentaje, y paint lo trata como entero. entonces, si queres hacerlo por entero como el paint, basta con hacer una regla de 3 simple con el resultado de mi funcion o si queres, puede ser asi: function luminosidad($flotaRed = 255,$flotaGreen = 255,$flotaBlue = 255, $flotaSalida = 1) { //$flotaSalida, si es 1, devuelve un numero como porcentaje, si es 2, devuelve el entero correspondiente a el porcentaje. $rgb = array($flotaRed,$flotaGreen,$flotaBlue); if($flotaSalida=1){ return $luminosidad; }elseif($flotaSalida=2){ return round(($luminosidad * 240 / 100)); } }
y asi, indicando el valor "$flotaSalida" puede imprimir el porcentaje, o el valor como el paint... un saludo grande!
|
|
|
En línea
|
|
|
|
Skeletron
Desconectado
Mensajes: 1.731
A long way to go
|
Grande genio!
|
|
|
En línea
|
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
pixel atipico en un monitor TFT
Hardware
|
alvaropl
|
6
|
3,956
|
23 Diciembre 2010, 00:47 am
por simorg
|
|
|
¿como dibujar un circulo pixel a pixel? VB 6.0
Programación Visual Basic
|
AlxSpy
|
6
|
13,569
|
28 Mayo 2011, 18:48 pm
por AlxSpy
|
|
|
Obtener valor del pixel
.NET (C#, VB.NET, ASP)
|
Finrael
|
1
|
3,674
|
16 Junio 2012, 18:22 pm
por Maurice_Lupin
|
|
|
Obtener cada pixel del area de un Bitmap (Locked)
.NET (C#, VB.NET, ASP)
|
GonzaFz
|
0
|
1,945
|
20 Junio 2012, 08:33 am
por GonzaFz
|
|
|
[C++]Recorrer imagen pixel por pixel con SDL
Programación C/C++
|
SrCooper
|
8
|
7,662
|
7 Diciembre 2013, 18:47 pm
por dato000
|
|