getframe() resizing capture issue
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
So I am trying to use getframe() to capture a plot of an image and then use that image later as a filter. I have found that if I run this on images over a certain dimension, even though the image is still able to display 100% in the figure window, the getframe() command captures a smaller display than is shown (as given by the cdata matrix). Any help?
close all
figure(1),imshow(im2bw(image_v2,1),'InitialMagnification',100), truesize, hold on, scatter(x,y,30,'ws','MarkerFaceColor',[1 1 1]);
imagemask = getframe();
rgb = imagemask.cdata(:,:,1);
figure(2),imshow(rgb);
dimensions = size(rgb);
rgb(dimensions(1),:)=[];
rgb(:,dimensions(2))=[];
dimensions = size(rgb);
for i = 1:dimensions(1)
for j = 1:dimensions(2)
if rgb(i,j)==255
rgb(i,j)=1;
elseif rgb(i,j)==1
rgb(i,j)=0;
end
end
end
figure(4), imshow(rgb)
image_filtered = image_v2.*rgb;
figure(3),imshow(image_filtered);
1 Kommentar
Walter Roberson
am 11 Mai 2012
Could you be more specific about the size limits you are encountering? Also which OS are you using, which MATLAB version, and what monitor size are you using? What does
get(0,'ScreenSize')
show? Also, do you happen to be using multiple monitors?
Antworten (0)
Siehe auch
Kategorien
Mehr zu Convert Image Type finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!