我有以下代码行:
stitched(1+offset(2):h1+offset(2),1+offset(1):w1+offset(1),:) = double(I1(1:h1,1:w1,:));
如何更改它,以便仅double(I1(1:h1,1:w1,:))
中{0}的单元格的值为stitched
?
我想在stitched
中保留一些数据。
答案 0 :(得分:1)
此更改应设置:
stitched(1+offset(2):h1+offset(2),1+offset(1):w1+offset(1),:) = ...
stitched(1+offset(2):h1+offset(2),1+offset(1):w1+offset(1),:) + ...
double(I1(1:h1,1:w1,:)).*(stitched(1+offset(2):h1+offset(2),1+offset(1):w1+offset(1),:)==0);
<强>解释强>
将stitched
注释为S
I1
为I
,和
1+offset(2):h1+offset(2),1+offset(1):w1+offset(1)
为a:b,c:d
。
所以我们得到:
S(a:b,c:d,:) = S(a:b,c:d,:) + I(a:b,c:d,:).*(S(a:b,c:d,:)==0)
现在它更清楚,如果S(a:b,c:d,:)
中的值不是0
,那么
I(a:b,c:d,:).*(S(a:b,c:d,:)==0) = 0
并且整个陈述变为:
S(a:b,c:d,:) = S(a:b,c:d,:) + 0 % <-- No change
否则,S(a:b,c:d,:)
为零,语句变为:
S(a:b,c:d,:) = 0 + I(a:b,c:d,:).* 1 % <-- the value in I
您可能需要转换语句的某些部分,但它应该有效。