MATLAB Answers

Changing image rendering?

16 views (last 30 days)
aboharbf
aboharbf on 18 Apr 2020
Edited: Oliver Woodford on 21 Sep 2020 at 18:26
Hey All,
attempting to visualize a raster of lines and running into issues. When the lines are plotted as lines, the image appears correctly, as follows:
When attempting to visualize the same lines (ignoring the large vertical and horizontal lines), I get the following
zooming in, all the same lines are present, just zoomed out they have varying degrees of visibility. Is there a way to modify MATLAB handling of this image to produce an image closer to what appears above?

  1 Comment

Oliver Woodford
Oliver Woodford on 21 Sep 2020 at 18:24
I'm just wondering why, if the results using plot are correct, or what you want, why you're trying to rasterize the lines. What is wrong with the approach using plot? If it's rendering time, please share how you call plot.

Sign in to comment.

Answers (1)

Oliver Woodford
Oliver Woodford on 17 Sep 2020
Edited: Oliver Woodford on 17 Sep 2020
Basically you are rendering a binary image, and you're getting gray levels instead of just black and white?
What are you using to render the image? imshow() can rescale the image if it is too large. imagesc() doesn't do this.
For example:
>> A = rand(50, 4000) < 0.99;
>> imagesc(A);
>> colormap(gray(256));
when zoomed in gives:

  13 Comments

Walter Roberson
Walter Roberson on 18 Sep 2020
The features I pointed to are the only graphics smoothing and anti-aliasing available. In particular the GraphicsSmoothing figure property would be the one applicable.
Walter Roberson
Walter Roberson on 18 Sep 2020
Maybe conv2() the array with ones() the size of the number of data pixels that will be rendered down to one physical pixel, and logical() the result. That would be equivalent to an OR operation over the entire block.
aboharbf
aboharbf on 20 Sep 2020
@Oliver - I do need the ability to interactively zoom in and out.
@ Walter - I tried the Graphics smoothing but it didn't appear to have any influence unfortunately. Likely due to the plot being purely vertical lines. The function you describe may be worth a shot though, thanks for the tip.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!