作者maxgary (无心)
看板MATLAB
标题[问题]GUI的slider值与图片透明化设定
时间Sat Jan 7 21:12:11 2012
小弟是matlab新手 最近在使用matlab做影像处理
可是碰到几个问题 希望有前辈可以解惑
1.
我使用slider来选取我要的图片
slider值设定在0~25
用callback来读取position值
position=num2str(get(handles.slider1,'Value'));
set(handles.text1,'String',position);
i=position
i1=i+71
bmp_name=['photo_' num2str(i) '.bmp'];
可是当运行时
i1的值都会变得很奇怪
当position=1时 输出的i值会变成49
而i1会变成120
此时num2str(i) 会变成 49 50 0三个值
但是如果不做i1的运算
i值都很正常 会在0~25之间
是设定上有问题吗?
2.
当我将图片做edge detection後
是否能够将处理後的图片边缘(白色)部分涂上别的颜色
并且将处理後的图片黑色部分透明化後叠在原来的图片上?
上色部分目前毫无头绪
而透明化的部分
我参考网路上的做法 使用alpha
X=imread('photo.bmp');
h=imshow(X)
F=size(X);
G=ones(F(1),F(2));
G(X(:,:,1)<1)=0;
set(gca,'visible','off','color','none')
set(h,'AlphaData',G)
可是做出来的图片跟原来一样 完全没有效果
叠图部分 因为我想将处理後的图片透明化
这样是否用hold就可以了?
感谢各位前辈
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.16.223
1F:推 diva:1的问题是出在position是string不是number 因此i也是string 01/07 23:14
2F:→ diva:string+71会跑出什麽东西 说实在我也不知道 01/07 23:15
3F:推 diva:2我也想知道图片怎麽透明化 01/07 23:17
4F:→ maxgary:所以不能用position做运算吗? 感谢 01/07 23:38
5F:推 Raymond0710:1. i = str2num(position) 是不是要改这样? 01/08 02:21