matlab filter2()函数怎么用

我是新手有个问题不明白希望各位大大能帮忙解决 程序如下 i=imread('1.jpg'); figure; imshow(i); h=fspecial('sobel'); j=filter2(h,i); figure; imshow(j); 若输入以上程序理应出来锐化后的图像,但是除了原图之外只出来一个像素点。请问是不是程序除了什么问题?

第1个回答  2020-03-08
filter2函数
功能:计算二维线型数字滤波,它与函数
fspecial
连用
格式:Y=filter2(B,X)
Y=filter2(B,X,'shape')
说明:对于
Y=filter2(B,X)
,filter2
使用矩阵
B
中的二维
FIR
滤波器对数据
X
进行滤波,结果
Y
是通过二维互相关计算出来的,其大小与
X
一样;对于
Y=filter2(B,X,'shape')
,filter2
返回的
Y
是通过二维互相关计算出来的,其大小由参数
shape
确定,其取值如下:
》full
返回二维相关的全部结果,size(Y)>size(X);
》same
返回二维互相关结果的中间部分,Y

X
大小相同;
》valid
返回在二维互相关过程中,未使用边缘补
0
部分进行计算的结果部分,有
size(Y)<size(X)
相似回答