I have 1D array data, and I need to convert data points used in plot to generate white pixels in a binary image, considering data points(array values) in plot as rows and indexes of an array as respective columns containing white pixels. Attached is mat file of 1D array i need to convert into binary image. Kindly have a look at that.

 Akzeptierte Antwort

Image Analyst
Image Analyst am 3 Dez. 2017

1 Stimme

Try this:
s = load('yo_1.mat')
yo = s.yo
rows = max(yo);
columns = length(yo);
outputImage = false(rows, columns);
for k = 1 : columns
outputImage(yo(k), k) = true;
end
imshow(outputImage);

2 Kommentare

User_q q
User_q q am 3 Dez. 2017
Thanks alot. I tried this but i need white pixels with no gaps, so this plot (in mat file) is my after interpolation result, but after conversion to image it is again giving gaps. How can I fill these. But again thanks for the reply
Image Analyst
Image Analyst am 3 Dez. 2017
You can use imline() or polyfit() to draw lines between the dots. See attached demo.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Images finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by