Draw a binary image

22 次查看(过去 30 天)
Anna
Anna 2013-8-30
I want to draw an image of vertical stripes using the pattern 11001100111000. If 1 represents a black bar and 0 represents a white bar, how can I draw a black and white image using black with an intensity value of 0 and white with an intensity value of 1? Assume the image is 100 pixels long and assume 1 pixel is 1 bar.
An example of a code would be great, thanks.
  1 个评论
Jan
Jan 2013-8-30
How could the image have 100 pixels with one pixel per bar, if the pattern has 14 elements only?

请先登录,再进行评论。

回答(3 个)

Iain
Iain 2013-8-30
image_i_want = [1 1 0 0 1 1 0 0 1 1 1 0 0 0 ...put in the rest of your pattern... ];
imagesc(image_i_want)
You probably want a more complicated answer...
  1 个评论
Muthu Annamalai
Muthu Annamalai 2013-8-30
编辑:Muthu Annamalai 2013-8-30
I'll just say, augment the code from @Iain with,
>> colormap gray >> imagesc(image_i_want)
@Anna if you want more control of rectangle objects, borders, shading, filling etc, look at http://www.mathworks.com/help/matlab/ref/rectangle.html to get your b/w images.

请先登录,再进行评论。


Image Analyst
Image Analyst 2013-8-30
Try this:
desiredOutputColumns = 640; % Whatever....
desiredOutputRows = 480; % Whatever.....
pattern = [1,1,0,0,1,1,0,0,1,1,1,0,0,0];
stripeImage = imresize(pattern, [desiredOutputRows, desiredOutputColumns], 'nearest');
imshow(stripeImage, [])
I'm not sure if you want 0 to be black and 1 to be white, or vice versa - your message was ambiguous on tat point. Anyway, it's trivial to adapt the above code.
  20 个评论
Image Analyst
Image Analyst 2021-5-19
@Ayush singhal, probably, though I'm not going to have time to figure it out for you, sorry.

请先登录,再进行评论。


Shambhuraj
Shambhuraj 2022-12-2
How to 3-D heart under name

Community Treasure Hunt

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

Start Hunting!

Translated by