tengo algunos puntos de píxel digamos p1 (1,1) y p2 (1,10) ....... y así sucesivamentecómo mostrar puntos en la imagen en matlab?
quiero mostrar estos puntos en la imagen de cualquier color. cómo hacer esto?
tengo algunos puntos de píxel digamos p1 (1,1) y p2 (1,10) ....... y así sucesivamentecómo mostrar puntos en la imagen en matlab?
quiero mostrar estos puntos en la imagen de cualquier color. cómo hacer esto?
MATLAB plot
documentación es bastante completa.
LineSpec propiedades lista la sintaxis para diferentes estilos de líneas, colores y puntos.
Si desea más opciones, consulte LineSeries Properties. Puede especificar propiedades como Marker
(estilo), MarkerEdgeColor
, MarkerFaceColor
y MarkerSize
.
También puede usar RGB triplets para definir el color, si desea desviarse de rgbcmykw.
Ejemplos:
trazar un solo punto (3,4) con una naranja de cinco puntas marcadores estrella:
p=[3,4];
plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20)
Plot una matriz de puntos con verde marcadores 'O':
p=round(10*rand(2,10));
plot(p(1,:),p(2,:),'go')
EDIT: Si usted tiene todos sus puntos almacenados como p1=[x1,y1]
, p2=[x2,y2]
, etc., trate de reorganizarlos en una Matriz 2xN primero. O bien volver a generar los puntos, o si ya los tienes como pares individuales, utilice
p=[p1;p2;p3]'; %# the [;] notation vertically concatenates into Nx2,
%# and the ' transposes to a 2xN
plot(p(1,:),p(2,:),'go')
O, si usted tiene un montón de puntos almacenados como pares individuales, por ejemplo, hasta P1000 o así, podría usar eval
(cringe).
p=[]; %# initialize p
for n=1:nPoints %# if you've got 1000 points, nPairs should be 1000
eval(['p(:,n)=p',num2str(n)],''); %#executes p(:,n)=pn' for each nPoint
end
Usa la imagen, espera y traza.
base_points = [142.3125,93.4375; 169.4375,176.0625];
image(fixed); colormap(gray(256)); axis image;
hold on;
plot(base_points(:,1),base_points(:,2),'go');
upvote para 'hold en' – zhangxaochen
pero quiero mostrar todos los puntos, es decir, p1, p2, p3 ..... en la imagen. Esto muestra un solo punto: o – chee
¿Está almacenando puntos individuales como 'p1 = (x1, y1)', 'p2 = (x2, y2) ', etc.? No hagas eso. MATLAB está hecho para trabajar con matrices. Almacene sus puntos en una matriz de 2xN y use la opción de matriz de puntos en mi respuesta. – Doresoom
Siéntase libre de votar mi respuesta si esto resuelve su problema. – Doresoom