matlab设置图片背景透明_Matlab保存透明图片程序

将以下代码复制到

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(

转换成功!

)

将以下代码复制到 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( 转换成功! )
经验分享 程序员 微信小程序 职场和发展