如何在matlab中显示图像上的点?

che*_*hee 10 matlab

我有一些像素点让我们说p1(1,1)和p2(1,10)......等等

我想以任何颜色在图像上显示这些点.这该怎么做?

Dor*_*oom 6

MATLAB plot文档非常全面.

LineSpec属性列出了不同样式的线条,颜色和点的语法.

如果需要更多选项,请参阅LineSeries属性.您可以指定属性,如Marker(风格), ,MarkerEdgeColor,MarkerFaceColorMarkerSize.

如果你想偏离rgbcmykw,你也可以使用RGB三元组来定义颜色.

例子:

使用橙色五角星标记绘制单个点(3,4):

p=[3,4];
plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20)
Run Code Online (Sandbox Code Playgroud)

用绿色'o'标记绘制一系列点:

p=round(10*rand(2,10));
plot(p(1,:),p(2,:),'go')
Run Code Online (Sandbox Code Playgroud)

编辑:如果你有存储为所有的点p1=[x1,y1],p2=[x2,y2]等等,试戴重组为2×N个矩阵第一.要么重新生成点,要么如果你已经将它们作为单对配对,请使用

p=[p1;p2;p3]'; %# the [;] notation vertically concatenates into Nx2, 
               %# and the ' transposes to a 2xN
plot(p(1,:),p(2,:),'go')
Run Code Online (Sandbox Code Playgroud)

或者,如果您将大量点存储为单对,例如高达p1000左右,则可以使用eval(畏缩).

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
Run Code Online (Sandbox Code Playgroud)


Pet*_*ter 5

你可以只使用情节:

plot(p1(1), p1(2), 'ko');  % Small circle point in black.
plot(p1(1), p1(2), 'r.');  % Small dot in red.
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记先“坚持”图像。 (6认同)