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.

 Réponse acceptée

Image Analyst
Image Analyst le 3 Déc 2017
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 commentaires

User_q q
User_q q le 3 Déc 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 le 3 Déc 2017
You can use imline() or polyfit() to draw lines between the dots. See attached demo.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by