声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4101|回复: 8

[图像处理] 使用imfilter2时出现问题

[复制链接]
发表于 2010-9-27 22:14 | 显示全部楼层 |阅读模式

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

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

x
我想用库函数做个简单的平滑滤波器,程序如下:
c=imread('l.jpg');
a1=imfilter2(fspecial('average',3),d);   %3*3均值滤波
imshow(a1);

出现:
??? Undefined function or method 'imfilter2' for input arguments of type 'uint8'.

Error in ==> jzlb at 2
a1=imfilter2(fspecial('average',3),c);   %3*3均值滤波

我想是图像的位数问题,但不知怎么搞。。。。。刚学MATLAB。。。求高人指点。。
回复
分享到:

使用道具 举报

发表于 2010-9-28 00:21 | 显示全部楼层
用的版本是R2006a, 找不到imfilter2 ??
c=imread('l.jpg');
a1=imfilter(c,fspecial('average',3));
imshow(a1);
 楼主| 发表于 2010-9-28 09:44 | 显示全部楼层
是2007的,程序也是参照书上的,但就是会出现问题,试过用不同的图像,不同的格式,还是不行,还有什么可以试的请帮忙,谢谢~
发表于 2010-9-28 12:40 | 显示全部楼层
回复 dingz 的帖子

LZ确定有imfilter2函数吗? 请用下式检查下
which imfilter2 -all
 楼主| 发表于 2010-9-28 12:49 | 显示全部楼层
有这个函数,路径也对,就是图像不知有什么问题,也试过其他图像。
还有把他转成double和16位也试过。。就是不行。这个函数对输入图像有要求的吗?
发表于 2010-9-28 13:38 | 显示全部楼层
怪! 刚又用R2009a查下, 也是找不到imfilter2 !? 也上了官网查, 也没找到!?
是否为自订函数?
LZ可否贴上which imfilter2 -all的输出(路径)及help imfilter2的输出
 楼主| 发表于 2010-9-28 14:11 | 显示全部楼层
>> which imfilter2 -all
'imfilter2' not found.
>> help imfilter2

imfilter2.m not found.

Use the Help browser Search tab to search the documentation, or
type "help help" for help command options, such as help for methods.

居然也找不到。。但是有这个m文件喔

还有那段里a1=imfilter2(fspecial('average',3),d);   %3*3均值滤波
d打错了  应该是c,不过还是这个问题
 楼主| 发表于 2010-9-28 14:29 | 显示全部楼层
见到有个imfilter函数
我不知道这两个函数有什么不同,求赐教。。。
这个可以找的到

C:\Documents and Settings\D\My Documents\MATLAB\imfilter.m
C:\Program Files\MATLAB\R2007a\toolbox\images\images\imfilter.m  % Shadowed
 楼主| 发表于 2010-9-28 14:39 | 显示全部楼层
不好意思,是没有这个函数,应该用imfilter,
??? Function IMFILTER expected its second input, H,
to be one of these types:

  double

Instead its type was uint8.

Error in ==> imfilter>parse_inputs at 358
iptcheckinput(h,{'double'},{'nonsparse'},mfilename,'H',2);

Error in ==> imfilter at 127
[a,h,boundary,flags] = parse_inputs(varargin{:});

Error in ==> jzlb at 2
a1=imfilter(fspecial('average',3),c);   %3*3均值滤波

我想是double型的,改为
c=double(imread('l.jpg'));
a1=imfilter(fspecial('average',3),c);   %3*3均值滤波
imshow(a1);


出现:??? Undefined function or method 'imfilter_mex' for input arguments of type 'int32'.

Error in ==> imfilter at 330
  b1 = imfilter_mex(a,im_size,real(h),real(nonzero_h),conn,start,flags);

Error in ==> jzlb at 2
a1=imfilter(fspecial('average',3),c);   %3*3均值滤波

还有。。。可以给个程序我吗,就实现均值滤波的,处理的图像最后随便都可以,谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-6 16:44 , Processed in 0.106811 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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