how to plot coordinates of nonzero elements from matrix

7 次查看(过去 30 天)
hello, i want to ask something,
i have this binary image :
here is my code :
global A;
global rx;
global ry;
A = handles.q; %#ok
A = [500, 5000]; %#ok
A = [450:500, ;]; %#ok
[rx, ry] = size(A);
for A = [:,1] > 0
[rx,ry] = find(A[:,1] > 0);
end
guidata(hObject,handles);
axes(handles.axes3); %#ok
imshow(A);
msgbox('Process SUCCESSFUL !');
my question is :
how to find and plot coordinates of nonzero elements from the image?
please tell me if my code is wrong or not..
Thanks

采纳的回答

KSSV
KSSV 2016-11-17
编辑:KSSV 2016-11-17
clc; clear all;
K = imread('your image') ;
K = K(:,:,1) ;
% K = randi([0 1],[100 100]) ; % 100x100 matrix
[r,c] = size(K) ;
x = 1:c ;
y = 1:r ;
[X,Y] = meshgrid(x,y) ;
% get indices of non zero
idx = (K>0) ;
% plot only ones
plot3(X(idx),Y(idx),K(idx),'.r')
view(2)
  6 个评论
Evan Weking
Evan Weking 2016-11-18
ok thank you Guillaume for the code
your first code is working, but the second code is showing error like this :
??? Error using ==> plot3
Vectors must be the same lengths.
Error in ==> coba at 6
plot3(X, Y, 1, '.r');
do you know why it's happen?
thanks

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by