matlab 计算积分x 1 z2dz,【1X届考研生】懂matlab的来!急急急!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

numCamera = 20;

volumeX = 64;

volumeY = 128;

volumeZ = 64;

dX = volumeX/2;

dY = volumeY/2;

dZ = volumeZ/2;

visualHullSamplingRate = 0.1;

silhouetteThreshold = 200;

% load silhouette images and projection matrices

for i=1:numCamera

PMatrix{i} = load(['smallwoman\Calib_' int2str(i) '.txt']);

SImage{i} = rgb2gray(imread(['smallwoman\dancer_' int2str(i) '.bmp']));

end;

imshow(SImage{1,1});

% visual hull computation

% you should provide the code here

thresh = 110;

scale = 1/16;

volume = ones(volumeX,volumeY,volumeZ);

for i = 1:numCamera

img = SImage{i} >= thresh;

P = PMatrix{i};

x1 = P(1,1)*scale*((1:volumeX)-dX);

y1 = P(2,1)*scale*((1:volumeX)-dX);

z1 = P(3,1)*scale*((1:volumeX)-dX);

x2 = P(1,2)*scale*((1:volumeY)-dY);

y2 = P(2,2)*scale*((1:volumeY)-dY);

z2 = P(3,2)*scale*((1:volumeY)-dY);

for Z = 1:volumeZ

p = P(:,3:4)*[scale*(Z-dZ) 1]';

z = z1'*ones(1,volumeY) + ones(volumeX,1)*z2 + p(3);

x = (x1'*ones(1,volumeY) + ones(volumeX,1)*x2 + p(1)) ./ z;

y = (y1'*ones(1,volumeY) + ones(volumeX,1)*y2 + p(2)) ./ z;

volume(:,:,Z) = volume(:,:,Z) & interp2(img, x, y,'*nearest', 1);

end

end

里面的 x1 = P(1,1)*scale*((1:volumeX)-dX);

p = P(:,3:4)*[scale*(Z-dZ) 1]';

z = z1'*ones(1,volumeY) + ones(volumeX,1)*z2 + p(3);

的意思,急急急求!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值