用Matlab批量将图片反色

用Matlab批量将图片反色

图片反色原理

手头一直使用的RIGOL示波器用U盘拷屏后的图片是黑底的,黑白打印后波形不清晰,我一般在Windows自带画图工具反色,但是需要逐张修改,当图片较多时非常费时。因此准备用还算熟悉的Matlab来对图片批量反色。
反色原理不复杂,只需将原图按照像素(R,G,B)修改为(255-R,255-G,255-B)。

Matlab代码

% original png images are stored in path \Org
% the Reversed png images will be stored in path \Reverved
%
pngfiles = dir(‘Org\*.png’);
FileNums = length(pngfiles);
disp(‘start processing!\n’);
sprintf(’! %d *.png files would be reversed!\n’,FileNums)
for k=1:FileNums
pngname = pngfiles(k,1).name;
strl=length(pngname);
sprintf(‘the %dth png is started!\n’,k)
[I,map,alpha] = imread(strcat(‘Org’,pngname));

Irev = 255-I;
status = mkdir('Reversed');
pngnameRev = strcat(pngname(1:strl-4),'_Rev.png');
imwrite(Irev,strcat('Reversed\',pngnameRev),'PNG');
sprintf('the %dth png is ok!\n',k)

end
sprintf(’! %d *.png files are reversed!\n’,FileNums)

上一篇:[Go]fmt Sprintf的格式占位符%


下一篇:2021-03-27