tôi có một số điểm pixel cho phép nói p1 (1,1) và p2 (1,10) ....... và cứ thếcách hiển thị điểm trên hình ảnh trong MATLAB?
tôi muốn hiển thị các điểm này trên hình ảnh dưới mọi màu. cách thực hiện việc này?
tôi có một số điểm pixel cho phép nói p1 (1,1) và p2 (1,10) ....... và cứ thếcách hiển thị điểm trên hình ảnh trong MATLAB?
tôi muốn hiển thị các điểm này trên hình ảnh dưới mọi màu. cách thực hiện việc này?
MATLAB plot
tài liệu là khá toàn diện.
LineSpec thuộc tính liệt kê cú pháp cho các kiểu đường, màu và điểm khác nhau.
Nếu bạn muốn có thêm tùy chọn, hãy xem LineSeries Properties. Bạn có thể chỉ định các thuộc tính như Marker
(kiểu), MarkerEdgeColor
, MarkerFaceColor
và MarkerSize
.
Bạn cũng có thể sử dụng RGB triplets để xác định màu, nếu bạn muốn đi chệch khỏi rgbcmykw.
Ví dụ:
Lô một điểm duy nhất (3,4) với cam năm cánh sao marker:
p=[3,4];
plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20)
Lô một loạt các điểm với màu xanh lá cây 'o' đánh dấu:
p=round(10*rand(2,10));
plot(p(1,:),p(2,:),'go')
CHỈNH SỬA: Nếu bạn đã lưu tất cả các điểm của mình là p1=[x1,y1]
, p2=[x2,y2]
, v.v., hãy thử tổ chức lại chúng thành Ma trận 2xN trước. Hoặc là tái tạo các điểm, hoặc nếu bạn đã có chúng như cặp duy nhất, sử dụng
p=[p1;p2;p3]'; %# the [;] notation vertically concatenates into Nx2,
%# and the ' transposes to a 2xN
plot(p(1,:),p(2,:),'go')
Hoặc, nếu bạn có một tấn của các điểm lưu trữ như cặp duy nhất, nói lên đến P1000 hoặc lâu hơn, bạn có thể sử dụng 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
Sử dụng hình ảnh, giữ và vẽ.
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 for 'hold on' – zhangxaochen
nhưng tôi muốn hiển thị tất cả các điểm tức là p1, p2, p3 ..... trên ảnh.này chỉ hiển thị một điểm: o – chee
Bạn có lưu trữ các điểm riêng lẻ là 'p1 = (x1, y1) ',' p2 = (x2, y2) ', v.v ...? Đừng làm thế. MATLAB được tạo ra để làm việc với ma trận. Lưu trữ điểm của bạn trong một ma trận 2xN và sử dụng mảng âm mưu của các tùy chọn điểm trong câu trả lời của tôi. – Doresoom
Hãy thoải mái upvote câu trả lời của tôi nếu nó giải quyết vấn đề của bạn. – Doresoom