未定义与 'double' 类型且具有 'full 3d real' 属性的输入参数相对应的函数 'conv2'。 出错 filter2
ps: 如果有任何问题可以评论留言,我看到后会及时解答,评论或关注,您的鼓励是我分享的最大动力转载请注明出处:一、问题做图像处理时,用到 Matlab 的 filter2 这个函数本以为是照着书上写的,但还是报错,很奇怪matlab代码:X = imread('img.bmp');X = im2double(X);figure; imshow(X);报...
·
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
更多推荐

所有评论(0)