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.

 採用された回答

Image Analyst
Image Analyst 2017 年 12 月 3 日

1 投票

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 件のコメント

User_q q
User_q q 2017 年 12 月 3 日
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 2017 年 12 月 3 日
You can use imline() or polyfit() to draw lines between the dots. See attached demo.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Images についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by