matlab保存畫框圖像去白邊


在matlab圖像處理中,為了標識出圖像的目標區域來,需要利用plot函數或者rectangle函數,這樣標識目標后,就保存圖像。

一般saves保存的圖像存在白邊,可以采用imwrite對圖像進行保存,保留原始圖像大小。

代碼如下:

    set(gca,'units','pixels','Visible','off');
    axes('position', [0 0 1.0 1.0]);
    [rows cols]=size(img);
    imshow(img);
    hold on
     s = regionprops(logicmap);
      for r = 1:length(s)   
           plot(s(r).Centroid(:,1), s(r).Centroid(:,2), 'r*')
           rectangle('Position',s(r).BoundingBox,'EdgeColor','r');
       end
     frame=getframe(gcf,[0,0,cols,rows]);
     im=frame2im(frame);
     imwrite(im,'a.jpg','jpg');%可以修改保存的格式

保存結果如下:

附加:在matlab2012,win7情況下,上述保存圖像的方法還是會存在白邊,

可采用如下方法設置figure與圖像一致,圖像能填充顯示窗口,並進行畫框保存。

% 顯示
set
(gcf,'Position',[400,400,cols,rows]); %設置figure位置和大小
imshow(videoclip(:,:,nrames),
'border','tight','initialmagnification','fit'); %圖像填充figure axis normal;
% 保存
frame=getframe(gcf,[0,0,cols,rows]);
im=frame2im(frame);
imwrite(im,outdir);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM