how to create logical image from plot in a given scale?

조회 수: 3 (최근 30일)
Osama Tabbakh
Osama Tabbakh . 2019년 2월 23일
댓글: Osama Tabbakh . 2019년 2월 27일
I want to transform two vectors (x, y) that describe a straight line in the domain (axis([1e-2 7e-2 1e-2 7e-2])) into a logical matrix.
x = linspace (2e-2,6e-2,20);
y = 4e-2 * ones (1,20);
a = [x' y'];
plot (x,y);
axis([1e-2 7e-2 1e-2 7e-2])
I want to get 100*100 matrix, which describe this plot. For that I can creat zeros matrix and then I have to put the ones in the correct place in this matrix. But I don't know where are the correct places.
  댓글 수: 2
Osama Tabbakh
Osama Tabbakh 2019년 2월 23일
No, y has contant number, because it is a line. But in this way I get a vector. Besides I need a matrix, which hasn't the same size like the vectors, but (100*100).

댓글을 달려면 로그인하십시오.

채택된 답변

Munish Raj
Munish Raj 2019년 2월 27일
Since the line is in the middle of your plot, the row indices of the plot will be the 50th row(middle).
Since the line goes from 0.02 - 0.06 and the axes start from 0.01 and ends at 0.07, your line will start in the 17th position and end at the 83rd position on the x axis.
The following code implements this
im = zeros(100); %Create a 100x100 matrix of zeros
im(50,17:83)=1 % make the necessary elements
I = mat2gray(im);
imshow(I); %Displays the image
  댓글 수: 4
Osama Tabbakh
Osama Tabbakh 2019년 2월 27일
And do u know how i can do that automatically? I have different shape of lines and i dont want every time to calculate the position of the ones on hand.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)


Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기




Community Treasure Hunt

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

Start Hunting!

Translated by