在做图像处理方面的程序,遇到这样一个问题:在图片中绘制亮度曲线(自己定义的曲线),保存之后图片周围有一圈白色的边,采用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\','png')
通过以上操作,就可以在图片中绘制曲线,保存后的图片中没有白色的边。
MATLAB版本 为MATLAB2014a