罗缎
Angulo entre dos vectores RGB
Sintaxis
Descripción
Ejemplos
Comparar la precisión de los algoritmos de estimación de iluminante
Abra una imagen de prueba. La imagen es el dato sin procesar capturado con una cámara digital Canon EOS 30D después de corregir el nivel de negro y escalar las intensidades a 16 bits por píxel. No se ha aplicado demosaicing, balance de blancos, mejora de color, filtrado de ruido o corrección gamma.
A = imread('foosballraw.tiff');
Interpolar Utilizodo laFunciónpara Obener Una Imagen De Color。demosaic
El patrón de matriz de filtro de color es RGGB.
a_demosaiced = demosaic(a,'rggb');
La imagen contiene un gráfico ColorChecker. Especifique el iluminador de la verdad del suelo, que se calculó de antemano utilizando los parches neutros del gráfico.
illuminant_groundtruth = [0.0717 0.1472 0.0975];
Para evitar sesgar la estimación del iluminante, excluya el gráfico ColorChecker creando una máscara.
mask = true(size(A_demosaiced,1), size(A_demosaiced,2)); mask(920:1330,1360:1900) = false;
Ejecute tres algoritmos de estimación de iluminante diferentes: , , y .illumwhite
Illumgray.
illumpca
Illuminant_Whitepatch = IllumWhite(A_Demosaiced,'Mask',mask); illuminant_grayworld = illumgray(A_demosaiced,'Mask',mask); illuminant_pca = illumpca(A_demosaiced,'Mask',mask);
Compare cada estimación con la verdad del suelo calculando el ángulo entre cada iluminador estimado y la verdad del suelo utilizando la función.罗缎
Cuanto Menor SeaElÁngulo,MejorSeráLaiveración。La Magnitud de laErgeraciónnodoctaporquesóloladireccióndeliLuinante se Utiliza para equilibrar Una Imagen ConAdaptaciónCromática。
angle_whitepatch = colorangle(illuminant_whitepatch, illuminant_groundtruth)
angle_whitepatch = 5.0921
angle_grayworld = colorangle(illuminant_grayworld, illuminant_groundtruth)
angle_grayworld = 5.1036
Angle_pca = icorarangle(Illuminant_pca,Illiminant_groundtruth)
angle_pca = 5.0134
El valor de es más pequeño, lo que indica que el algoritmo de estimación del iluminante PCA está más cerca de la iluminación de la verdad del suelo para esta imagen.angle_pca
Argumentos de entrada
rgb1
—Primer vector RGB
Vector numérico de 3 elementos
Primer vector RGB, especificado como un vector numérico de 3 elementos.
Tipos de Datos:single
|double
|uint8
|uint16
rgb2
—Segundo vector RGB
Vector numérico de 3 elementos
Segundo vector RGB, especificado como un vector numérico de 3 elementos.
Tipos de Datos:single
|double
|uint8
|uint16
Argumentos de salida
angle
— Angulo entre vectores RGB
escalar numérico
Angulo entre vectores RGB, devuelto como escalar numérico.
Tipos de Datos:double
Más acerca de
Angular Error
El error angular es una métrica útil para evaluar la estimación de un iluminante contra la verdad del suelo. Cuanto menor sea el ángulo entre el iluminador de la verdad del suelo y el iluminante estimado, mejor será la estimación.
Consulte también
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha事实clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select:.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América拉丁(Español)
- Canada(English)
- United States(English)
欧洲
- Belgium(English)
- 丹麦(English)
- Deutschland(德意志)
- España(Español)
- Finland(English)
- 法国(Français)
- 爱尔兰(English)
- Italia(Italiano)
- Luxembourg(English)
- Netherlands(English)
- 挪威(English)
- Österreich(德意志)
- Portugal(English)
- Sweden(English)
- Switzerland
- United Kingdom(English)