在做图像处理方面的程序,遇到这样一个问题:在图片中绘制亮度曲线(自己定义的曲线),保存之后图片周围有一圈白色的边,采用imwrite ,print ,save as 都没有解决,百度了很久,但是网上的解法很多,按着他们的说法操作依然不行,最后自己琢磨了半天,调试了一下午总算解决。现把解决步骤记录下。

...(自己的其他程序)

(上面为自己的程序,下面开始绘图。)

% ===============  开始绘图  =====================

[M,N1]=size(I1);

set(gcf,'position',[0 0 N1 M]);

imshow(uint8(I1),'border','tight',...

'initialmagnification','fit');  %无白色边框显示 %I1 是自己的图像

%  %'border','tight'的组合功能意思是去掉图像周边空白

%  %'InitialMagnification','fit'组合的意思是图像填充整个figure窗口

下面开始在图片中绘制自己定义的亮度曲线

hold  on

plot(*,*); %绘制曲线

frame = getframe(gcf);

imm = frame2im(frame);

imwrite(imm,'C:\Users\Administrator\Desktop\1017546.png','png')

通过以上操作,就可以在图片中绘制曲线,保存后的图片中没有白色的边。

MATLAB版本  为MATLAB2014a

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐