声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2266|回复: 2

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

[复制链接]
发表于 2007-2-4 19:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2007-2-5 09:24 | 显示全部楼层

回复

1.语句fun = inline('(sum(sum(x.*z))/mean2(z))*ones(size(x))','x','z');中数组"点运算"写法有问题.
2.加入参量z后,最后的调用不能正确执行.
 楼主| 发表于 2007-2-5 10:35 | 显示全部楼层
那怎么写可以实现我的计算目的呢,拜托大事指点
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 14:41 , Processed in 0.051624 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表