Una forma es realizar una mezcla alfa (consulte Composición alfa – Wikipedia y ¿Cómo calcular un color RGB especificando una cantidad de mezcla alfa?) En el que combina el color original con un nuevo color usando un factor de transparencia.
El siguiente código MATLAB demuestra esto. El valor RGB de rosa considerado en este ejemplo es [255, 20, 147]
.
% Especifique el valor alfa en el rango 0-1, valores más altos => menor transparencia
alfa = 0.4;
- ¿Cuáles son los algoritmos hash más comunes además de MD5 y SHA?
- ¿Cuál es el mejor libro para aprender a programar en estructuras de datos y algoritmos desde el principio?
- Cómo alterar el rango de un bucle for dentro del bucle en Python
- ¿Qué debo hacer después de aprender Java central y resolver problemas de algoritmos y estructura de datos en HackerRank, CodeChef, etc.?
- ¿Qué estructura de datos debo usar para completar esta tarea?
% Especifique nuevos valores de color normalizados al rango 0-1
nuevoRGB = [255/255, 20/255, 147/255];
% Leer en una imagen de ejemplo y extraer los canales RGB
I = imread (‘peppers.png’);
I_red = I (:,:, 1);
I_verde = I (:,:, 2);
I_blue = I (:,:, 3);
% Realice la fusión en cada canal normalizando los valores de píxeles a 0-1
O_red = alpha * newRGB (1) + (1 – alpha) * im2double (I_red);
O_green = alpha * newRGB (2) + (1 – alpha) * im2double (I_green);
O_blue = alpha * newRGB (3) + (1 – alpha) * im2double (I_blue);
% Combine las imágenes resultantes en una nueva imagen RGB volviendo a escalar los valores% a 0-255
O (:,:, 1) = im2uint8 (O_red);
O (:,:, 2) = im2uint8 (O_verde);
O (:,:, 3) = im2uint8 (O_blue);
% Mostrar las imágenes
subtrama (1,2,1), imshow (I), título (‘Original’)
subtrama (1,2,2), imshow (O), título (‘Resultado’)