[求助]对图像进行分块操作
目的是对一幅图像进行分离块操作,通过块与另一个权重矩阵进行加权平均,获得一个值,将这个值填到块的每个栅格中。我是这样写的,但是总是报错
r=120;
WinY=r*2/30;
WinX=r*2/30;
for i=1:1:WinX
for j=1:1:WinY
z(i,j)=exp(-(((i-1)*30-r+15)^2+((j-1)*30-r+15)^2)/2/r^2);
end
end
I = imread('my1.jpg');
fun = inline('(sum(sum(x.*z))/mean2(z))*ones(size(x))','x','z');
I2=blkproc(I,,fun)
然后就会报错
??? Error using ==> inline/feval
Not enough inputs to inline function.
Error in ==> C:\MATLAB6p5p1\toolbox\images\images\blkproc.m
On line 98==> firstBlock = feval(fun,x,params{:});
初学matlab,完全不知道怎么应付,
请高手指点!
[ 本帖最后由 chilibest 于 2007-2-4 21:23 编辑 ]
回复
1.语句fun = inline('(sum(sum(x.*z))/mean2(z))*ones(size(x))','x','z');中数组"点运算"写法有问题.2.加入参量z后,最后的调用不能正确执行. 那怎么写可以实现我的计算目的呢,拜托大事指点
页:
[1]