Matlab - imagenes en color con Matlab

 
Vista:

imagenes en color con Matlab

Publicado por Mikel (1 intervención) el 16/11/2004 16:56:14
Hola a todos. Soy un iniciado en esto del Matlab y estoy realizando un programilla que me permita realizar la segmentacion de distintas partes de una foto. El caso es que la mayoria de funciones que estoy mirando en el Matlab Help solo valen para imagenes de matrices de dos dimensiones (en blanco y negro, supongo). Como puedo hacer para separar una imagen en los tres planos R, G y B?, y calcular los histogramas en cada uno de esos planos? Agradeceria q alguien me contestara, porque la verdad es que no teng mucha idea de esto...
Gracias
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 Alejandro

imagenes en color con Matlab

Publicado por Alejandro (145 intervenciones) el 05/10/2023 23:52:05
¡Hola, Mikel! No te preocupes, estaré encantado de ayudarte a realizar la segmentación de una imagen en los tres canales de color (R, G, B) y calcular los histogramas de cada canal en Matlab.

Aquí tienes un ejemplo básico:

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
% Leer la imagen
imagen = imread('tu_imagen.jpg'); % Reemplaza con la ruta de tu imagen
 
% Mostrar la imagen original
figure;
imshow(imagen);
title('Imagen Original');
 
% Separar la imagen en canales R, G, B
canal_R = imagen(:, :, 1);
canal_G = imagen(:, :, 2);
canal_B = imagen(:, :, 3);
 
% Calcular histogramas de cada canal
hist_R = imhist(canal_R);
hist_G = imhist(canal_G);
hist_B = imhist(canal_B);
 
% Visualizar histogramas
figure;
subplot(3, 1, 1);
bar(hist_R, 'r');
title('Histograma Canal Rojo');
 
subplot(3, 1, 2);
bar(hist_G, 'g');
title('Histograma Canal Verde');
 
subplot(3, 1, 3);
bar(hist_B, 'b');
title('Histograma Canal Azul');

Este código utiliza la función `imread` para cargar una imagen, luego separa la imagen en sus tres canales de color (R, G, B) y calcula los histogramas de cada canal con la función `imhist`. Finalmente, visualiza la imagen original y los histogramas de cada canal.

Asegúrate de reemplazar `'tu_imagen.jpg'` con la ruta de tu propia imagen. Puedes ejecutar este código en Matlab y adaptarlo según tus necesidades.
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