将以下代码复制到
m
文件并保存为“
im2tm
”
,即可运行。
function im2tm
%%%%%%%%——————————————————–
%%
此函数将图片的背景处理成透明背景,并将处理后的图片保存为
png
格式的图片。
%%
先将要转换的图片放到当前目录下,然后运行此函数,即可完成转换。
%%
转换好的图片将以“原图片名”
+
“
_
透明”的命名保存在当前目录下。
%%LX,2012.08.15
%%%%%%%%——————————————————–
Im_name=input(
请输入要转换的图片的名称全称,如“我的图片
.jpg
”
: ,s);
I=imread(Im_name);
%%%
方式一:将图片中所有的背景区域转换为透明背景
I=imresize(I,2);
G=rgb2gray(I);
ima=imadjust(G);
level=graythresh(G);
bw=im2bw(ima,0.95);
figure,imshow(bw)
bw2=~bw;
% S=strel(line,8,50);
% bw2=imclose(bw2,S);
%bw2 =bwareaopen(bw2, 20);
figure,imshow(bw2)
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
% R(bw2)=0;
% G(bw2)=0;
% B(bw2)=0;
rgb=cat(3,R,G,B);
siz=size(I);
alpha=ones(siz(1),siz(2));
alpha(~bw2)=0;%
背景为白色
%alpha(bw2)=0;%
背景为黑色
figure,imshow(rgb)
Im_name(end-3:end)=[];
imwrite(rgb,[Im_name,_
透明
.png],Alpha,alpha)
disp(
转换成功!
)
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/290656.html