未定义与 'double' 类型且具有 'full 3d real' 属性的输入参数相对应的函数 'conv2'。 出错 filter2

ps: 如果有任何问题可以评论留言,我看到后会及时解答,评论或关注,您的鼓励是我分享的最大动力

转载请注明出处:

https://blog.csdn.net/qq_40938301/article/details/105886039

一、问题

做图像处理时,用到 Matlab 的 filter2 这个函数

本以为是照着书上写的,但还是报错,很奇怪

matlab代码:

X = imread('img.bmp');
X = im2double(X);
figure; imshow(X);

报错信息:

 

二、原因

im2double 是有3维阵列(x, y, 颜色)

而 filter2 属于 conv2 针对 的是 二维定义,不能直接使用

 

三、解决办法

1、使用 rgb2gray( ) 转换为灰度图像,并在2D中过滤:

X = imread('img.bmp');
X = rgb2gray(X);
X = im2double(X);
figure; imshow(X);

2、使用 n 维卷积 convn( ) 

filter_g = 

3、在 2D 中过滤每种颜色 (RGB)

filter_g = zeros(size(im_double));
for i = 1:3
  filter_g(:,:,i) = conv2(gauss, im_double(:,:,i);
end

 

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 未定义double类型输入参数相对函数interp1是指在某个编程环境下,没有编写或者提供一个与double类型参数匹配的interp1函数。 interp1是一种插值函数,通常用于数值计算和数据处理中,用于在给定的一组离散数据点之间进行插值计算。根据提供的数据点和插值方法,interp1可以返回在某个给定点上的插值结果。 在处理double类型数据时,interp1函数需要接受一个double类型输入参数,表示需要进行插值计算的点。但是如果编程环境中没有提供与double类型参数相对的interp1函数,那么无法直接使用该函数来进行插值计算。 为了解决这个问题,可以考虑使用其他类型的插值函数或者手动实现一个与double类型参数相对的interp1函数。如果需要进行高精度的计算,可以使用支持更精确浮点数处理的库函数或者实现自己的算法。另外,还可以考虑将double类型参数转换为其他类型,如整型或字符型,然后再使用interp1函数进行插值计算。 总之,在未定义double类型输入参数相对函数interp1的情况下,我们需要根据具体的编程环境和需求来选择适当的解决方案。 ### 回答2: 未定义double类型输入参数相对函数interp1意味着在给定一个double类型输入参数时,没有定义一个与之相对的interp1函数。 interp1函数一般用于在给定的数据集上进行插值运算,它的参数一般包括一个x值数组,一个对的y值数组,还有一个待插值的x值数组。在给定的x值数组和y值数组上,interp1函数会根据插值算法计算并返回与待插值的x值数组对的插值结果。 在某些编程语言或工具包中,interp1函数可能还允许使用其他的参数,比如指定插值算法类型、指定插值的形式(例如一维线性插值、二次样条插值等)、指定边界条件等。 但是如果没有定义与double类型输入参数相对的interp1函数,那么就无法在给定的数据集上进行插值运算,并返回与待插值的x值数组对的插值结果。 在这种情况下,可能需要先检查所使用的编程语言或工具包的文档或帮助文件,确认是否存在与double类型输入参数相对的interp1函数,或者考虑使用其他的插值函数或方法来实现需求。 ### 回答3: 未定义double类型输入参数相对函数interp1意味着没有定义一个适用于double类型输入参数的interp1函数。interp1函数是一种插值函数,它用于根据给定的输入向量和对的输出向量,对新的输入点进行插值计算。通常,interp1函数可以适用于不同类型输入参数,例如向量、矩阵、多维数组等。 然而,如果没有定义与double类型输入参数相对的interp1函数,可能是因为目前的实现中只支持特定类型输入参数,或者是在函数实现中出现了错误导致无法正确处理double类型输入参数。 解决此问题的方法可能是更新interp1函数的实现,使其能够支持double类型输入参数。这可能涉及到检查当前实现中对于特定输入类型的处理方式,并进行相的修改和调整。另外,还可以通过引入新的函数重载形式来处理不同类型输入参数,包括double类型。 总之,如果目前未定义double类型输入参数相对的interp1函数,需要检查函数实现并进行相的修改,以确保能够正确处理double类型输入参数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值