Quiero tener un programa en matlab con GUI, al ejecutar el programa, el usuario puede dibujar cualquier cosa con el mouse sobre los ejes en la GUI, y quiero guardar la imagen creada en una matriz. ¿Cómo puedo hacer esto?Dibujando con el mouse en la GUI en matlab
Respuesta
fin encuentro un buen código y he cambiado algunas partes de personalización para mí. con esta forma, el usuario puede dibujar anythings en los ejes con el ratón:
function userDraw(handles)
%F=figure;
%setptr(F,'eraser'); %a custom cursor just for fun
A=handles.axesUserDraw; % axesUserDraw is tag of my axes
set(A,'buttondownfcn',@start_pencil)
function start_pencil(src,eventdata)
coords=get(src,'currentpoint'); %since this is the axes callback, src=gca
x=coords(1,1,1);
y=coords(1,2,1);
r=line(x, y, 'color', [0 .5 1], 'LineWidth', 2, 'hittest', 'off'); %turning hittset off allows you to draw new lines that start on top of an existing line.
set(gcf,'windowbuttonmotionfcn',{@continue_pencil,r})
set(gcf,'windowbuttonupfcn',@done_pencil)
function continue_pencil(src,eventdata,r)
%Note: src is now the figure handle, not the axes, so we need to use gca.
coords=get(gca,'currentpoint'); %this updates every time i move the mouse
x=coords(1,1,1);
y=coords(1,2,1);
%get the line's existing coordinates and append the new ones.
lastx=get(r,'xdata');
lasty=get(r,'ydata');
newx=[lastx x];
newy=[lasty y];
set(r,'xdata',newx,'ydata',newy);
function done_pencil(src,evendata)
%all this funciton does is turn the motion function off
set(gcf,'windowbuttonmotionfcn','')
set(gcf,'windowbuttonupfcn','')
La función ginput
obtiene las coordenadas de moueclicks dentro de una figura. Puede usarlos como puntos de una línea, polígono, etc.
Si esto no se ajusta a sus necesidades, debe indicar exactamente qué espera que dibuje el usuario.
dibujo a mano alzada Para esto podría ser útil:
http://www.mathworks.com/matlabcentral/fileexchange/7347-freehanddraw
i han desarrollando un programa para detectar el carácter que el dibujo del usuario, por lo que el usuario debe ser capaz de dibujo de caracteres alfanuméricos. –
Ver mi edición superior. –
La única manera que conozco para interactuar con las ventanas de MATLAB usando un ratón es ginput, pero esto ahora se permiten dibujar cualquier cosa con fluidez.
Hay formas de usar componentes Java Swing en el control de Matlab http://undocumentedmatlab.com/ para obtener más información.
EDITAR: También puede ver esto.
http://blogs.mathworks.com/videos/2008/05/27/advanced-matlab-capture-mouse-movement/
- 1. ¿Cómo creo una GUI con pestañas en MatLab?
- 2. ¿Cómo puedo programar una GUI en MATLAB?
- 3. Ingeniería de software y patrones en la aplicación Matlab GUI?
- 4. Dibujando gráficos en Java
- 5. ¿Cómo agregar imágenes en la GUI de MATLAB?
- 6. Matlab: ejecuta el archivo sin abrir la GUI, luego cierra
- 7. Compatibilidad entre Mac y Windows MATLAB Gui
- 8. Función que se ejecuta en el cierre de la GUI en matlab
- 9. Dibujando una línea con flecha en Java
- 10. Dibujando triángulos con CUDA
- 11. Dibujando una ruta con CAKeyFrameAnimation en iPhone
- 12. ¿Cómo crear una GUI dentro de una función en MATLAB?
- 13. Dibujando texto en .NET
- 14. Dibujando líneas con OpenGL en Haskell
- 15. Dibujando polígonos en XML con Android
- 16. Dibujando una ruta con una línea en OpenLayers usando JavaScript
- 17. Dibujando círculos con CGContext
- 18. Dibujando esferas con RadialGradientBrush
- 19. dibujando círculos con System.Drawing
- 20. usando el mouse con sendInput en C
- 21. Simular golpe con el mouse en javascript
- 22. Dibujando en WriteableBitmap
- 23. ¿Agregue dinámicamente campos a la GUI de MATLAB?
- 24. Distinga entre hacer doble clic con el mouse y hacer clic con el mouse en wpf
- 25. Dibujando en CGImageRef
- 26. Dibujando en el fondo del escritorio (WIN32)
- 27. Girar la cámara en Three.js con el mouse
- 28. Matlab: trazado en tiempo real del ROI seleccionado con IMRECT
- 29. Dibujando en la ventana raíz X
- 30. Dibujando caracteres Unicode en iPhone
¿Cómo uso esta función para dibujar? – mikeglaz