chilibest 发表于 2007-2-4 19:48

[求助]对图像进行分块操作

目的是对一幅图像进行分离块操作,通过块与另一个权重矩阵进行加权平均,获得一个值,将这个值填到块的每个栅格中。
我是这样写的,但是总是报错
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 编辑 ]

xjzuo 发表于 2007-2-5 09:24

回复

1.语句fun = inline('(sum(sum(x.*z))/mean2(z))*ones(size(x))','x','z');中数组"点运算"写法有问题.
2.加入参量z后,最后的调用不能正确执行.

chilibest 发表于 2007-2-5 10:35

那怎么写可以实现我的计算目的呢,拜托大事指点
页: [1]
查看完整版本: [求助]对图像进行分块操作