Matlab保存图片背景为透明
2017-05-23 20:34
2356 查看
图片的透明性,由其属性‘Alpha’ 决定,所以改变图像的‘Alpha‘值则改变透明度
Alpha为与图像分辨率相同大小的矩阵,0为透明,1为不透明。保存图片时,如要保存为
透明图片,须保存为png格式,保存代码为:imwrite(I,'图像名.png','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)
相关文章推荐
- 关于图片下载后保存背景透明变黑色的问题
- 如何在Matlab中得到透明背景的图片?
- android 透明背景黑色字图片 保存得到本地 显示黑色图片
- 用Ps将PSD切片并将切片保存为透明背景的图片
- 用Ps将PSD切片并将切片保存为透明背景的图片
- photoshop保存背景透明图片办法
- ps保存图片logo背景透明
- 让visio保存背景透明的图片。
- Gdi+绘制半透明文字并保存为透明背景图片
- 【切片技巧】PS 切片时 保存成透明背景png格式图片
- photoshop保存背景透明图片办法
- 下载保存的图片背景由透明变为黑色问题解决
- C#中保存GIF文件后透明背景问题的一个解决方法
- PNG透明背景图片的无界应用
- 透明PNG背景图片 For IE 6.0 Firefox Opera
- EVC中的图片背景透明处理
- 解决IE6中CSS使用透明背景图片的问题
- 让IE6显示透明PNG背景图片
- 关于Java生成背景透明的png图片
- JS使png背景图片透明