Hay un algoritmo para averiguar la longitud de onda del color dado el valor de matiz (entre 0 grados y 360 grados). ¿Hay alguna función incorporada en MATLABpara lo mismo?matiz Hue a longitud de onda
Respuesta
Respuesta corta: NO. En general, un tono determinado puede producirse mediante una triple infinidad de longitudes de onda.
¿Puede explicar esta oración? – rhavin
Consulte la explicación en: https://en.wikipedia.org/wiki/Color_vision#Mathematics_of_color_perception –
Mientras Mark Ransom y Franco Callari tienen toda la razón de que no puede recuperar el espectro de un color perceptual, ni asignar inequívocamente los valores de matiz a longitudes de onda, definitivamente podría armar algo si solo quiere la longitud de onda monocromática correspondiente.
La parte del ciclo de matiz entre 270 y 360 es otro problema. No hay nada correspondiente a magenta en el espectro de luz, así que supongamos que solo usamos valores de matiz entre 0 y 270.
Estimando que la parte utilizable del espectro visible es 450-620nm, con longitud de onda L
(en nm) y valor de matiz H
(en grados), puede improvisar esto:
L = 620 - 170/270 * H
620 es la longitud de onda máxima, 170 es la gama de longitud de onda y 270 es el rango tonalidad.
Creo que esto debería ir en la dirección correcta, pero solo he comprobado 4 o 5 colores. Es posible que pueda obtener mejores resultados al comparar entre la entrada hues y los colores correspondientes en un visible spectrum chart, y luego ajustar los valores de alguna manera.
¿Tiene alguna referencia para esta fórmula? –
@AkshayHazari: Puedes buscar los números que utilicé en cualquier libro de texto de física. En cuanto a la fórmula en sí, no, simplemente lo inventé. Pero expliqué cómo lo obtuve. – Junuxx
Tenía una función para reconocer un color dominante en una imagen al agrupar los colores de la imagen y verificar qué color es el más cercano. Si pudiera obtener una longitud de onda o un valor único que representara un color, reduciría en gran medida la complejidad. ¿Hay alguna forma de que pueda modificar esto un poco y usarlo, hasta ahora no he encontrado nada, cerca de representar valores rgb o hue como usted. –
no puedo proporcionar una solución sencilla, pero hay algo que debe tener en cuenta:
- La parte visible del Spektrum es aproximadamente entre 380 nm (UV-frontera) y 780 nm (IR-frontera). Pero lo que ves (hue) depende de las células de cono activadas. Por encima de 660nm, el M-cone no se activa en absoluto, por lo que todo entre 660 nm y 780 nm es 0 ° de matiz.
- a 580nm tiene amarillo con tono 60 °, el verde más puro está a aproximadamente 535nm, por lo que es 120 °, y el azul más puro (240 °) está a aproximadamente 457 nm.
- si aplica una función lineal, el amarillo debe estar a 597 nm, que no es así, por lo que necesitaría un enfoque más complejo.
- sobre azul, el cono rojo todavía se activa hasta que veamos el violeta, pero no volveremos a alcanzar el rojo en las frecuencias más altas, por lo que no podrá superar los 300 ° aproximadamente.
- el rango de matiz entre 300 ° y 360 ° no tiene equivalencia en spektrum visible, solo se puede simular mezclando luz de alta frecuencia (azul o violeta) con luz roja, lo que da como resultado algo entre magenta y rojo en el violeta línea.
- 1. ¿Cambiar "HUE" de una imagen con PHP GD Library?
- 2. Longitud de datos frente a CRC Longitud
- 3. Cambiar el matiz de la barra de navegación utilizando Xcode
- 4. dibujando onda sinusoidal usando opencv
- 5. banda limitada generación de forma de onda
- 6. Visualización de formas de onda en Ruby
- 7. Inestabilidad mientras NDSolvera una ecuación de onda
- 8. AS3 argumento de longitud variable ampliar a llamar a otra función con argumentos de longitud var
- 9. Crear onda sinusoidal o cuadrada en C#
- 10. ¿Cómo cortar la onda transportadora en Rspec?
- 11. Dibujar una onda sinusoidal móvil suavizada
- 12. Repite cadena a cierta longitud
- 13. Conversión de longitud \ latitud a coordenadas cartesianas
- 14. matrices de longitud cero frente a punteros
- 15. Linq a SQL - Longitud de columna subyacente
- 16. Reproducción de una forma de onda (matriz flotante) como sonido
- 17. Generar una imagen de forma de onda a partir de un archivo de audio
- 18. Crear forma de onda de archivo de audio en android
- 19. Imagen de Android cambio de matiz para simular el botón haga clic en
- 20. Mostrar una forma de onda de audio usando C#
- 21. Trazado de la forma de onda del archivo .wav
- 22. ¿Código de código abierto para presentar la forma de onda?
- 23. Generación de sonido de onda sinusoidal en Python
- 24. matriz en forma de onda triangular en Python
- 25. Detecta una frecuencia/tono específico a partir de datos de onda sin procesar
- 26. ¿Cómo convertir una cadena binaria de 16 bits de longitud fija a una de longitud fija?
- 27. longitud y longitud() en Java
- 28. símbolos no definidos para la arquitectura ARMv7 mientras que integran SpeechKit de dragón matiz móvil
- 29. Gráfico gráfico en tiempo real (forma de onda)
- 30. cómo convertir archivo de onda para flotar amplitud
Técnicamente, existen múltiples formas de obtener un matiz si está dispuesto a mezclar longitudes de onda, y algunas púrpuras no pueden representarse en una sola longitud de onda. –
@MarkRansom, ¿cuál sería el más fácil en matlab? – SegFault
No puedo decir nada específico sobre Matlab. Probablemente necesites convertir el espacio de color. Puede encontrar que la tabla colorimétrica oficial de CIE es útil: http://www.cie.co.at/index.php/LEFTMENUE/index.php?i_ca_id=298 –