Matlab保存图片背景为透明

图片的透明性,由其属性‘Alpha’ 决定,所以改变图像的‘Alpha‘值则改变透明度

Alpha为与图像分辨率相同大小的矩阵,0为透明,1为不透明。保存图片时,如要保存为

透明图片,须保存为png格式,保存代码为:imwrite(I,'图像名.png','Alpha',alpha)

 

举例:一张字图片,背景为白色,字为黑色,现在将其处理后,输出为字为红色,背景为透明的图片。

代码如下:

 

close all
I=imread('2.1.png');
G=rgb2gray(I);  %灰度化
ima=imadjust(G);    %调节灰度图像的亮度或彩色图像的颜色矩阵
bw=im2bw(ima);  %二值化默认值是0.5
figure,imshow(bw)

level=graythresh(G);    %使用最大类间方差法找到图片的一个合适的阈值
bw2=im2bw(ima,level);   
figure,imshow(bw2)

bw3=~bw2;   %取反
bw4 =bwareaopen(bw3, 20);
%bw4=imfill(~bw4,'hole');
figure,imshow(bw4)

bw5=~bw4;
R=I(:,:,1);%矩阵的拆分,所有行列的第1个值
G=I(:,:,2);
B=I(:,:,3);

%字体颜色  %为0的地方(字体部分)赋值为红色
R(~bw5)=255;   
G(~bw5)=0;      
B(~bw5)=0;

%背景颜色 %为1的地方(背景部分)赋值为白色
R(bw5)=255;
G(bw5)=255;
B(bw5)=255;
rgb=cat(3,R,G,B);   %构建矩阵,3为矩阵的维数
figure,imshow(rgb)

%透明度
siz=size(I);
alpha=ones(siz(1),siz(2));
alpha(B==255)=0;    %取背景部分0 0为透明
imwrite(rgb,'透明.png','Alpha',alpha)

 

 

 

 

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TWSF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值