Matlab - script para convertir una imagen digital 2 x n capaz de ser representada con el comando plot.

 
Vista:
sin imagen de perfil

script para convertir una imagen digital 2 x n capaz de ser representada con el comando plot.

Publicado por Rubén (1 intervención) el 02/01/2017 19:41:24
Hola, muy buenas! quisiera que alguien me sea de guía para resolver este problema que se me plantea, ya que he estado horas tratando de resolverlo, pero no lo logro. Se debe, seguro, por carencia de conocimientos.

El enunciado es el siguiente:

Diseñad un script llamado ploter.m que convierte una imagen digital en una matriz 2 × n capaz de ser representada con el comando plot. Dado que la imagen digital es una matriz de 766 × 1029 de ceros y unos y hay que convertirla en una matriz 2 × n, hay que localizar las coordenadas (x, y) de los ceros de la imagen (los pixeles de color negro). Se recomienda usar el comando scatter en vez del plot para que represente los puntos de la imagen y no los enlace. Representad la imagen original en azul a puntos (extensión ’b.’). Comenzad el programa con estas dos instrucciones:
digital = input(’Introduce el Workspace con la imagen digital: ’,’s’);
sd(digital);
El Workspace que hay que introducir es bunny.mat, que carga la matriz M con la imagen digital.
Imprimid la imagen obtenida.

Lo que hago es cargar al workspace el archivo, que contiene una matriz 766x1029. Al ejecutar el comando plot, me sale una imagen con lineas verticales de colores, sé que tengo que modificar la matriz, para que esta al ejecutar el comando plot me salga el dibujo. He cambiado el tamaño a la matriz con imresize, pero al ejecutar plot me sigue saliendo rayas verticales de colores. Solo puedo ver el dibujo con imshow, pero no logro hacer el script, me pierdo y no logro encontrar información precisa en internet, no sé que hacer.

Por favor, ¿alguien podría decirme los pasos a seguir para resolver este tipo de cuestiones?

Muchas gracias, y perdón por las molestias.

Adjunto el archivo.
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 Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

script para convertir una imagen digital 2 x n capaz de ser representada con el comando plot.

Publicado por Royeth (1818 intervenciones) el 03/01/2017 17:10:00
bueno como tienes una imagen binaria , debes localizar cada uno de los ceros luego convertir los indices a subindices y ajustar tus ejes , sería algo como :
1
2
3
load bunny
[x,y]=ind2sub(size(M),find(M==0));
scatter(x,y)

solo restaría modificar las escalas de los ejes si deseas cambiar la apariencia de tu imágen ,

saludos
https://www.facebook.com/royethmatlab/
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