能告诉我在matlab GUI 静态文本 怎么设置为透明 将文字显示在图片上,不要文本的背景
展开全部
图片的透明性,由其属性‘Alpha’ 决定,所以改变图像的‘Alpha‘值则改变透明度
Alpha为与图像分辨率相同大小的矩阵,0为透明,1为不透明。保存图片时,如要保存为
透明图片,须保存为png格式,保存代码为:imwrite(I,'图像名.png','Alpha',alpha)
举例:一张字图片,背景为白色,字为黑色,现在将其处理后,输出为字为红色,背景为透明的图片。
代码如下:
%字变为红色,背景变为白色,保存背景为透明的图片
%%
%字变为红色,背景变为白色,保存时背景透明
close all
I=imread('力.jpg');
G=rgb2gray(I);
ima=imadjust(G);
bw=im2bw(ima);
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);
G=I(:,:,2);
B=I(:,:,3);
%字体颜色
R(~bw5)=255;
G(~bw5)=0;
B(~bw5)=0;
%背景颜色
R(bw5)=255;
G(bw5)=255;
B(bw5)=255;
rgb=cat(3,R,G,B);
figure,imshow(rgb)
%透明度
siz=size(I);
alpha=ones(siz(1),siz(2));
alpha(B==255)=0;
imwrite(rgb,'力_透明.png','Alpha',alpha)
Alpha为与图像分辨率相同大小的矩阵,0为透明,1为不透明。保存图片时,如要保存为
透明图片,须保存为png格式,保存代码为:imwrite(I,'图像名.png','Alpha',alpha)
举例:一张字图片,背景为白色,字为黑色,现在将其处理后,输出为字为红色,背景为透明的图片。
代码如下:
%字变为红色,背景变为白色,保存背景为透明的图片
%%
%字变为红色,背景变为白色,保存时背景透明
close all
I=imread('力.jpg');
G=rgb2gray(I);
ima=imadjust(G);
bw=im2bw(ima);
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);
G=I(:,:,2);
B=I(:,:,3);
%字体颜色
R(~bw5)=255;
G(~bw5)=0;
B(~bw5)=0;
%背景颜色
R(bw5)=255;
G(bw5)=255;
B(bw5)=255;
rgb=cat(3,R,G,B);
figure,imshow(rgb)
%透明度
siz=size(I);
alpha=ones(siz(1),siz(2));
alpha(B==255)=0;
imwrite(rgb,'力_透明.png','Alpha',alpha)
追问
我是要使GUI界面的文本的背景变成透明的,只显示字不显示文本的背景,貌似这个不是实现那个功能的?
追答
这样啊,那我就不知道了,不好意思
展开全部
使用text命令在m文件中生成静态文本,不设置‘BackgroundColor’属性,或者设为‘none’。(此时的句柄类型为‘text’,GUI中拖入的静态文本控件,句柄类型是‘uicontrol’)。此时背景为透明
举例:
text('units','normalized','Position',[0.1 0.88],'String','XXXX','FontUnits','normalized',...'FontSize',0.06,'fontangle','italic','fontweight','bold','color',[0 0 0],'tag','f00','FontName','MS Sans Serif');
举例:
text('units','normalized','Position',[0.1 0.88],'String','XXXX','FontUnits','normalized',...'FontSize',0.06,'fontangle','italic','fontweight','bold','color',[0 0 0],'tag','f00','FontName','MS Sans Serif');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询