Clear Filters
Clear Filters

Increase the resolution of a filled image

15 views (last 30 days)
Hello, I am trying to make an B&W image out of a contour of a plot. The code I use so far is below, where B2 is a matrix of 2 columns that holds the x and y position of the contour. The code actually works well, but the problem I have is that I get a 560x420 image, and I can not figure out how to get a better resolution. Do you have any idea on how to do this ? Thanks !
figure;
fill(B2(:,1),B2(:,2),'w')
axis([-200 200 -200 200])
set(gca,'visible','off')
set(gcf,'color',[0 0 0])
F = getframe(gcf);
figure;
imshow(F.cdata)

Answers (1)

Ameer Hamza
Ameer Hamza on 25 Apr 2018
The documentation of getframe() tells that output resolution depends on the screen resolution. You can increase the size of figure object as follow calling getframe() as follow,
f = gcf;
f.Position = [100 100 width height]; % here specify the width and height of the figure.
% corresponding to this, the image resolution will also change.
F = getframe(f);
Another way is to use imresize() but the quality is low as compared to the first method.
If you want really high-quality graphics, you might want to save figure as a vector graphic image e.g. .eps file using following command,
hgexport(gcf, 'test');
  1 Comment
Sagar Shriram Salwe
Sagar Shriram Salwe on 30 Sep 2019
The simplest method to solve this i find out:
Just go to figure created by imagesc
Open file >Export setup and change the size from auto to expected size required.
Suppost 1920x1024 points and save this configuration and again rerun the .m file without closing image.
The expected changes required for high resolution will get obtained after doing this.
Hope this will help

Sign in to comment.

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!