世界第一等 发表于 2010-11-21 20:20

帮忙解释下程序!

A=imread('sy.jpg');
H=size(A);
BB=repmat(255, H(1)*H(2), H(3));%1
C=(A(:,:,1)==255 & A(:,:,2)==255 & A(:,:,3)==0);
BB(C,1) = 0;%2
BB(C,2) = 0;
B=reshape(BB, H(1), H(2), H(3));%4
imshow(B)

本人刚接触MATLAB。
麻烦各位详细解读下程序思路,并且着重解释加注释的4句有什么作用
谢谢了!

世界第一等 发表于 2010-11-21 20:21

不好意思啊搞错了是3句
求知心切见谅哈!

ChaChing 发表于 2010-11-22 00:18

回复 1 # 世界第一等 的帖子

LZ先看下help, 试下help中的例子, 不清楚再说吧!

qibbxxt 发表于 2010-11-22 09:09

注释1
等价于255+zeros(A),当然repmat的具体用法请看帮助文件
注释2
C是一个逻辑矩阵,就是让BB的第一列,C中为1的行等于1,其实上一句话可以用all来实现
注释4
就是把BB变成和A大小一致的矩阵

世界第一等 发表于 2010-11-24 20:51

谢谢各位,我再试试。
以后还请多多指教!{:{46}:}

世界第一等 发表于 2010-11-25 13:14

麻烦再问下,为什么用这段程序提取出来的图像都是蓝色的?怎么让他显示本身的颜色?{:{13}:}

Happy99 发表于 2010-11-26 11:08

not sure!
imshow(A)
页: [1]
查看完整版本: 帮忙解释下程序!