Matlab - Sustitución de colores de una imagen en Matlab

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 45 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Sustitución de colores de una imagen en Matlab

Publicado por Laura (2 intervenciones) el 11/01/2018 23:52:38
Hola, me gustaría cambiar el color de las líneas de la fachada de las casas para un trabajo de la universidad y no sé como hacerlo. He probado mediante el espacio de frecuencias y la transformada de Fourier pero no consigo ningún resultado. La otra opción que me dan es mediante Cielab, pero soy principiante en Matlab y no sé como se haría.
Si alguien pudiera ayudarme con el código y decirme como se hace lo agradezco muchísimo.
Un saludo!
Imagen1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de David Correa
Val: 784
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sustitución de colores de una imagen en Matlab

Publicado por David Correa (1082 intervenciones) el 12/01/2018 02:25:39
Hola Laura;

El trabajo que deseas realizar es relativamente completo, pero realizable, rapidamente hice un test, que se podría mejorar.

Los pasos que podrías seguir:

1) Determinar los histogramas por cada capa de color RGB
2) Identificar las posiciones en el histograma de cada uno de los colores de la imagenes
3) Hacer el cambio de las posiciones de los colores de las casas por los colores que deseas

Quizás no se logre detectar todos los puntos de un determinado color, va a depender mucho de fijar rangos de colores, por si te das cuenta cada color de la casa tiene un cierto rango de variación por cada color.

Te adjunto los resultado de test que hice.
imagen_muestra

Espero sea de alguna ayuda.

Saludos

David Correa
correa.dave30@gmail.com
dcorrea@fismatlab.org
Servicios de Programación Matlab
http://fismatlab.org​​
​​​ https://www.facebook.com/fismatlabperu​​
http://fismatlab.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sustitución de colores de una imagen en Matlab

Publicado por Laura (2 intervenciones) el 12/01/2018 22:14:39
Hola!
Muchas gracias por la ayuda.
He conseguido comenzar el trabajo separando los 3 canales de la imagen RGB y localizar los picos en los histogramas. El problema ahora es que no se como sé cambian las posiciones de los colores de las casas. Si pudieras ayudarme con esa última duda te lo agradecería.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de David Correa
Val: 784
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sustitución de colores de una imagen en Matlab

Publicado por David Correa (1082 intervenciones) el 17/01/2018 05:08:20
Hola Laura;

Aquí una líneas de código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
clear all, close all,clc
 
I = imread('imagen_casas.jpg');
 
IR = I(:,:,1);
IG = I(:,:,2);
IB = I(:,:,3);
 
[a1,b1] = hist((double(IR(:))),1:255);
[a2,b2] = hist((double(IG(:))),1:255);
[a3,b3] = hist((double(IB(:))),1:255);
 
C1 = IR; C2 = IG;   C3 = IB;
 
%%
SR = and(IR>120,IR<255);
SG = (and(IG>0,IG<100));
SB = and(IB>0,IB<200);
 
in1 = find(and(and(SR,SG),SB));
C1(in1) = 0;
C2(in1) = 0;
C3(in1) = 255;
 
 
IN(:,:,1) = C1;
IN(:,:,2) = C2;
IN(:,:,3) = C3;
 
figure(1)
subplot(221)
image(I)
 
subplot(222)
plot(b1,a1,'r')
hold on
 
plot(b2,a2,'g')
hold on
 
plot(b3,a3,'b')
hold on
 
subplot(223)
image(IN)

Espero ser de alguna ayuda.

Saludos
David Correa Ch.
correa.dave30@gmail.com
dcorrea@fismatlab.org
Servicios de Programación Matlab
http://fismatlab.org
https://www.facebook.com/fismatlabperu
http://fismatlab.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar